Technical Stuff

What software do I need to run MegaMek?

MegaMek will run on any operating system that can run Java 8 including Windows, macOS, and Linux. Although it will run on later versions of Java, your experience will vary. Starting with the 0.49.x Development branch MegaMek will require Java 11 to run. Please see these instructions for details.

On a Mac, How do I open up multiple instances of MegaMek?

By default, macOS applications will only open a single instance. To open up a second instance of MegaMek, you will have to use the Terminal application (in Application/Utilities). Navigate to your MegaMek directory and type:

  java -jar MegaMek.jar &

The -n argument tells macOS to open up a new instance of the application.

I am on a Mac, and MegaMek will not open up up properly when I click on it. What should I do?

Use the pkg installer on Adoptium to install either the JRE or JDK version of Java you need (either 11 or 17, 11 is currently recommended). For example, the version for the Apple Silicon (M-Series) Macs can be found here. Additional information can be found on the macOS Issues page.

How do I use more, or less, memory?

By default, MegaMek uses up to 1024 megabytes (1 gigabyte) of memory. This amount of memory is sufficient for most games, but when playing large games against the bot, higher amounts of memory can boost performance. How you change the maximum memory allowed varies by operating system.

On Windows, open up the MegaMek.l4j.ini file and change the line that says -Xmx1024m to the amount of memory you want. For example, if you want 512 megabytes of memory, you would change this line to -Xmx512m.

On macOS, you want to right-click on the MegaMek icon and choose Show Package Contents. Then open up Contents/Info.plist. Look for the line that says -Xmx1024m and edit this as above.

On a Linux/Unix system, you will need to edit the startup.sh file’s last line, or just add the memory argument directly to your java command if launching manually. For example:

bash java -Xmx512m -jar MegaMek.jar &

Why can't I host a game?

If you are hosting a game over the internet, and other people cannot connect to your address, then you probably have port forwarding disabled in your router. You will need to allow port forwarding from the router to your computer on the port that MegaMek is using (2346, by default). How to do this will vary depending upon what type of set up you have for connecting with the internet. Check the instructions for your router. You can also try portforward.com, which has instructions on how to forward ports for many routers.”

How do I start a dedicated server?

Follow our detailed instructions for setting up a dedicated server on your machine or check out the instructions at MegaMek Games to set one up on a private server.

Unit Questions

My MHQ campaign is failing to because it cannot find some of my units. What should I do?

As part of ongoing efforts to better organize data, unit names may occasionally change. We have added support for backward compatibility for unit name changes, but you may occasionally experience this error when you update MekHQ. In order to correct your campaign file with the new names, you will need to open your campaign file (*.cpnx) in a text editor and correct the names for units that cannot be found. More detailed instructions can be found here.

What is Variable Tech Level?

This is based on the Tech Progression from Interstellar Operations. As equipment is introduced and time passes, it will move from Experimental to Standard (common use). When this option is enabled, a unit’s tech level is determined by the highest technology rating for the year the game is in.

Why can't I find a particular unit?

There are three possibilities:

  1. Check in the Allowed units sections and make sure the year the game takes place is set, and the tech level is set to the correct level.
  2. We forgot to add it. Please report it either to the bug tracker or the forums.
  3. The unit has not yet passed the two months moratorium period since its official Record Sheet got released. You will have to wait until that happens.

Why is a particular unit marked as illegal when it fits the official Record Sheet?

That usually indicates that the unit has ferro-fibrous armor and is using the old armor rules, superseded by TechManual. Armor is now always rounded down, making some units overweight, until a new Record Sheet is released.

How do I get fluff images to show up?

We cannot provide fluff images for units, but if you own PDFs or hard copies of the appropriate books, you should be able to create your own fluff images.

Fluff images need to go into the correct unit type directory within the data/images/fluff directory. The name of the image must exactly match the name in the unit selector. So, if you wanted to add a fluff image for the “Sunder SD1-0G”, you would need to name the image “Sunder SD1-0G.xxx” where xxx is the image extension.

How do I get record sheets that I can use with a tabletop game?

There are a couple of ways to do this depending on if you need a single record sheet or want to print out a whole lance or more.

For a single record sheet, use the File > Export to PDF menu within MegaMekLab to print out the currently loaded unit or a unit from a file.

For multiple record sheets, you can use the "Queue Units to Print" menu option in MegaMekLab to select multiple units to print out at once. You can also print directly from a MUL file that you have saved from the MegaMek lobby. Remember to check your print options in the File-Configuration.

Misc Questions

Why isn't XYZ rule or feature implemented yet?

MegaMek is a community driven project, with a small, dedicated group of contributors. There isn’t a developer road map, nor overarching directives that say “We are working on this.” The developers tend to work on the projects that interest them in the moment. If you really want a particular feature or rule implemented, then either convince one of the developers that your project would be cool or interesting, or go ahead and code it and issue a pull request. Also, keep in mind that some things are just too complicated and would take considerable development time and knowledge.

Why is the bot so stupid?

The new bot (Princess) is substantially better than the original “Test” bot that MegaMek used for years. However, there still may be circumstances where the bot is unaware of some rules options or performs poorly in certain terrains/conditions. For the best experience, either play against another human or don’t use unusual settings.

Are the dice conspiring against me?

Short answer: No. Long answer: The dice use the standard Java random number generation routines. You can find them described in the Sun documentation. The same routine is used for every dice roll in the game. These routines have been tested, and they behave as closely as possible to real dice as is possible on a computer. To put it another way, every time the virtual die is rolled, it stands a one-in-six chance of generating each number, one through six, and each roll is independent of previous rolls.

I keep hearing about looking at the Wiki. Where is the Wiki?!?!

That can be found on GitHub here.