NEW 📢 Limited launch offer: up to 70% off your first month on every game!See plans

How to host a Medal of Honor: Allied Assault server (2026)

Medal of Honor: Allied AssaultUpdated Nov 5, 202611 min read

Short answer. You can host a Medal of Honor: Allied Assault server yourself for free with OpenMoHAA, the open-source engine: you need your own copy of the game, the OpenMoHAA server files extracted into the game folder, a server_opm.cfg, and game port 12203 plus GameSpy port 12300 open. Or rent a Medal of Honor: Allied Assault server and skip the file and port work.

Players join from the in-game server list when the server is listed, or by its address. Both routes below end in a normal server, and your players still need the game.

Checked on 5 November 2026 against OpenMoHAA 0.82.1 (released 5 August 2025) for Option 1, and against the server archive our installer downloads, moh_revival_v1.12_RC3.5.1, for Option 2.

Allied Assault is a 2002 game from before Steam, so there is no SteamCMD download, and "how do I host it" has two different answers. This guide uses the OpenMoHAA documentation for the self-hosted route and what we run on our own servers for the rental route. To go straight to renting, see Option 2.

What you need

  • A copy of the game on the server machine. OpenMoHAA is not standalone: its documentation says it needs the original game files. It names the GOG release (recommended), a CD copy, or the free demo versions. A CD copy needs the official patches installed first, and a server built from demo files needs +set com_target_demo 1 on its command line.
  • OpenMoHAA. A free, GPL-2.0 project that supports Linux, Windows and macOS. For a server you only need the omohaaded and game binaries (plus curl) from the release archive.
  • Network: game port 12203 and GameSpy port 12300 reachable from the internet. The OpenMoHAA Docker guide lists both as defaults.
  • Which game: the base game, Spearhead or Breakthrough. A server runs one of them at a time.

The engine is free. You pay for the machine, power and bandwidth, and the game itself if you do not own it.

Option 1: host it yourself

This works on a spare PC, a home server or a cloud virtual machine. The steps follow the OpenMoHAA installation and "Hosting a server" guides.

Linux

  1. Get the game files onto the server. With the GOG installer, install innoextract and extract it:
    innoextract setup_medal_of_honor_2.0.0.21.exe
    The files land in an app/ folder. Use that folder as your game folder below. For a smaller server folder, the OpenMoHAA guide lists what to keep: in main, mainta and maintt, the Pak*.pk3 files and the sound and video folders, plus all the files from the OpenMoHAA archive.
  2. Download OpenMoHAA from the latest release page. Pick the Linux AMD/Intel archive (linux-amd64), or linux-arm64 for a Raspberry Pi 4 or 5.
  3. Extract it into the game folder, the one that contains the main folder with the original Pak*.pk3 files. Do not extract into a subfolder.
  4. Create main/server_opm.cfg. A short version of the file from the OpenMoHAA guide:
    sv_hostname "My MOHAA Server"
    set g_password ""
    set rconpassword "choose-a-long-password"
    set g_gametype 4
    set sv_gamespy 1
    sv_maplist "obj/obj_team1 obj/obj_team2 obj/obj_team3 obj/obj_team4 "
    map "obj/obj_team1"
    g_gametype 1 is Free for All, 2 Team deathmatch, 3 Round-based match, 4 Objective, 5 Tug-of-War (Spearhead) and 6 Liberation (Breakthrough). An empty rconpassword turns remote console commands off. sv_gamespy 1 is what lets the server appear in the server browser.
  5. Start the server from the game folder. The Linux zip stores omohaaded without the execute permission, so set it once first:
    chmod +x omohaaded
    ./omohaaded +set com_target_game 0 +exec server_opm.cfg
    Use com_target_game 1 for Spearhead (mainta folder) or 2 for Breakthrough (maintt folder). A dedicated server does not create or save its configuration file on its own, and the user data folder is ~/.openmohaa unless you set fs_homepath.
  6. Open the ports. Allow 12203 and 12300 on the machine's firewall (with ufw: sudo ufw allow 12203 and sudo ufw allow 12300), then forward both on your router to this machine. If you run the server in Docker instead, the OpenMoHAA Docker guide says the container and host ports must match, because GameSpy sends these port numbers on to the master server.
  7. Check it. Look for your server name in the in-game server list, or ask a friend outside your network to connect.

Windows

  1. Install the game, with the official patches if it is a CD copy, and install the Microsoft Visual C++ Redistributable (x64).
  2. Download the windows-x64 zip from the OpenMoHAA releases page and extract it into your game folder.
  3. Create main\server_opm.cfg as in the Linux steps, then run omohaaded.exe +set com_target_game 0 +exec server_opm.cfg from the game folder.
  4. Allow ports 12203 and 12300 in Windows Firewall and forward both on your router.

Settings people change

  • sv_hostname: the name in the server browser.
  • g_password: a join password. Leave it empty for a public server.
  • sv_maxclients: the number of player slots. Set it in the file above the map line, because the value built into the OpenMoHAA engine is 1.
  • sv_maplist: the rotation, separated by spaces. When it is empty the server restarts the map after each game.
  • sv_maxping: the highest ping allowed to join. 0 means no limit.
  • sv_floodprotect: limits how much text a player can type.
  • net_enabled: dedicated servers use IPv4 only by default. The GameSpy master server does not support IPv6, so a server with IPv4 turned off will not appear in the public list.

Option 2: host it on PlayNHost

Renting removes the game files, firewall and port forwarding. Our installer downloads the server archive for you, so you do not install a copy of the game on a machine of your own.

  1. Pick a plan. Open the Medal of Honor: Allied Assault server hosting page and compare the plans (SPRINGFIELD, GARAND and THOMPSON at the time of writing, for 16, 24 and 32 players). Press Create Server on SPRINGFIELD or GARAND, or Customize Plan on THOMPSON, and finish the order. Prices change, so check them on that page.
  2. Wait for the install. You get a "server ready" email and the server appears at panel.playnhost.com. On the Console tab, the panel counts the server as running when it prints ------ Server Initialization Complete ------.
  3. Open Settings, then Game Settings. These fields are written into main/server.cfg each time the server starts:
    • Server Name: the name players see.
    • Max Players: the number of player slots. After the install it is set to your plan's slot count.
    • RCON Password: required, and the password you use to log in as admin. Set it to something only you know.
    • Join password: the password players enter to join. Leave it empty for a public server.
    • Starting map: the map the server loads at start. The panel offers five deathmatch levels: dm/mohdm1, dm/mohdm2, dm/mohdm3, dm/mohdm6 and dm/mohdm7.
  4. Restart. When the panel shows "Saved. The server must restart before these take effect.", press Restart now and wait for the ready line.
  5. Change the map or message players. The Change Map and Broadcast Message quick tasks do it without a restart.
  6. Join. Give your players the server's address and port from the panel, plus the Join password if you set one.

What our setup does for you

  • Keys written at every start. The panel rewrites seta sv_hostname, seta sv_maxClients, seta rconPassword, seta g_password and the Map line in main/server.cfg from Game Settings. A hand edit to one of those lines is replaced at the next start, so change them in Game Settings. Everything else in the file is yours to edit under Files.
  • Start line. We start the server with sv_punkbuster 0, dedicated 2 and +exec server.cfg, with the game port and slot count filled in from your server.
  • Quotes are blocked. The name and both passwords cannot contain a double quote, a backslash or control characters, because they are written inside a quoted line of server.cfg.
  • Console. In our testing the server's flood protection blocked every outside RCON tool. Type commands in the Console tab instead, which talks to the server directly.
  • Starting map is read at start. Changing it needs a restart, not a reinstall. To switch levels right now, use the Change Map quick task.
  • Backups. If your plan includes backups, take one from Backups before editing server.cfg by hand.

Option 1 uses OpenMoHAA, and our servers run a different build of the server (mohaa_lnxded from the archive). The settings file is server.cfg here and server_opm.cfg in the OpenMoHAA guide, and key names such as sv_hostname and g_password are the same.

Self-hosting or renting: an honest comparison

  • Cost. Self-hosted: OpenMoHAA is free, and you pay for the game copy (the free demos ship with only one or two multiplayer maps), hardware, power and bandwidth. Rented: a monthly fee set by plan. See the current plans.
  • Game version. Self-hosted: you pick OpenMoHAA, the open-source engine, and install the game files yourself. Rented: the server archive our installer downloads, and you do not manage the files.
  • Availability. Self-hosted: as reliable as your machine and home internet, and it has to stay on while friends play. Rented: runs on the host's hardware, not your PC.
  • Network exposure. Self-hosted: players connect to your public IP and you look after the firewall and router. Rented: your home IP is not involved.
  • Skill needed. Self-hosted: command line, port forwarding and editing a config file. Very doable, and a good way to learn. Rented: a web panel with form fields.
  • Updates. Self-hosted: OpenMoHAA checks GitHub for new versions in the background but does not apply them, so you download and install each one. Rented: you do not download or install server files yourself.

Self-hosting suits you if you already own the game, a machine runs all day and you like to tinker. Renting suits you if you would rather not look after hardware.

Common problems and fixes

The server does not show in the server list

Cause: sv_gamespy is 0, the GameSpy port is closed, or IPv4 is turned off.

Fix: set sv_gamespy 1, open 12300 as well as 12203, and keep net_enabled at 1 (or 3) so IPv4 stays on.

OpenMoHAA will not start

Cause: on Linux, omohaaded is not executable ("Permission denied"); or the files were extracted into a subfolder, or the original game files are missing.

Fix: run chmod +x omohaaded. The OpenMoHAA files must sit next to the main folder that holds the original Pak*.pk3 files. Read the error text in the terminal.

Your changes to server.cfg disappear (PlayNHost)

Cause: the line is one the panel writes at every start: the server name, slots, RCON password, join password or starting map.

Fix: change them under Game Settings and restart.

An outside RCON tool cannot log in (PlayNHost)

Cause: in our testing, flood protection in the server blocked every outside RCON tool.

Fix: use the Console tab.

FAQ

Can I host a Medal of Honor: Allied Assault server for free?

Yes, with OpenMoHAA, which is free and open source. It needs the original game files, and you pay for the machine, power and internet. It must stay on while people play.

Which ports does it use?

Game port 12203 and GameSpy port 12300 are the OpenMoHAA defaults. On PlayNHost the panel sets the game port for you.

Can I run Spearhead or Breakthrough?

With OpenMoHAA, yes: set com_target_game to 1 for Spearhead or 2 for Breakthrough. Our rental product runs the base game.

Do I need Steam?

No. There is no SteamCMD download for this server. OpenMoHAA names GOG, CD and demo copies as ways to get the game files.

How many players can join?

You set the slot count with sv_maxclients. Our plans are 16, 24 and 32 players.

Ready to skip the setup? See the Medal of Honor: Allied Assault server plans.

Already hosting it somewhere else? Move your server to us

OUR LATEST BLOGS