{"id":1411,"date":"2025-07-15T18:50:01","date_gmt":"2025-07-15T17:50:01","guid":{"rendered":"https:\/\/grimms3dworlds.ddns.net\/?page_id=1411"},"modified":"2025-07-16T18:47:17","modified_gmt":"2025-07-16T17:47:17","slug":"medal-of-honor-allied-assault-server-setup-guide","status":"publish","type":"page","link":"https:\/\/grimms3dworlds.ddns.net\/index.php\/medal-of-honor-allied-assault-server-setup-guide\/","title":{"rendered":"Medal of Honor: Allied Assault Server Setup Guide"},"content":{"rendered":"\n<div style=\"font-family: 'Segoe UI', Arial, sans-serif; max-width: 900px; margin: 0 auto; padding: 20px; background: #ffffff; border-radius: 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.1);\">\n\n    <p style=\"color: #4a4a4a; line-height: 1.6;\">This guide walks you through setting up a Medal of Honor: Allied Assault server on an Ubuntu Server. Follow the steps carefully to ensure a smooth setup. The guide supports both the vanilla (v1.11) and Reborn (v1.12) patches.<\/p>\n\n    <h2 style=\"color: #1a3c5e; margin-bottom: 15px; border-bottom: 2px solid #e0e6ed; padding-bottom: 8px;\">Requirements<\/h2>\n    <ul style=\"color: #4a4a4a; padding-left: 20px;\">\n        <li style=\"margin-bottom: 8px;\">Ubuntu Server<\/li>\n        <li style=\"margin-bottom: 8px;\">Local IP of the server (e.g., 192.168.0.123)<\/li>\n        <li style=\"margin-bottom: 8px;\">Access to your router to forward ports (default: 12203)<\/li>\n    <\/ul>\n\n    <h2 style=\"color: #1a3c5e; margin-bottom: 15px; border-bottom: 2px solid #e0e6ed; padding-bottom: 8px;\">Optional: Create a User for the Server<\/h2>\n    <p style=\"color: #4a4a4a; line-height: 1.6;\">We will use the username <code>gameservers<\/code> for this guide. You can change it to any name, but ensure consistency throughout.<\/p>\n    <p style=\"color: #4a4a4a; line-height: 1.6;\">Create the user:<\/p>\n    <div style=\"position: relative; margin-bottom: 20px;\">\n        <pre style=\"background: #1e1e1e; color: #ffffff; padding: 15px; border-radius: 5px; font-size: 14px; line-height: 1.4; overflow-x: auto;\"><code>sudo adduser --home \/home\/gameservers gameservers<\/code><\/pre>\n        <button style=\"position: absolute; top: 10px; right: 10px; background: #007bff; color: #ffffff; border: none; padding: 8px 12px; border-radius: 4px; cursor: pointer; font-size: 12px;\" onclick=\"copyCode(this)\">Copy<\/button>\n    <\/div>\n    <p style=\"color: #4a4a4a; line-height: 1.6;\">Grant sudo access (optional):<\/p>\n    <div style=\"position: relative; margin-bottom: 20px;\">\n        <pre style=\"background: #1e1e1e; color: #ffffff; padding: 15px; border-radius: 5px; font-size: 14px; line-height: 1.4; overflow-x: auto;\"><code>sudo usermod -aG sudo gameservers<\/code><\/pre>\n        <button style=\"position: absolute; top: 10px; right: 10px; background: #007bff; color: #ffffff; border: none; padding: 8px 12px; border-radius: 4px; cursor: pointer; font-size: 12px;\" onclick=\"copyCode(this)\">Copy<\/button>\n    <\/div>\n    <p style=\"color: #4a4a4a; line-height: 1.6;\">Switch to the user:<\/p>\n    <div style=\"position: relative; margin-bottom: 20px;\">\n        <pre style=\"background: #1e1e1e; color: #ffffff; padding: 15px; border-radius: 5px; font-size: 14px; line-height: 1.4; overflow-x: auto;\"><code>su - gameservers<\/code><\/pre>\n        <button style=\"position: absolute; top: 10px; right: 10px; background: #007bff; color: #ffffff; border: none; padding: 8px 12px; border-radius: 4px; cursor: pointer; font-size: 12px;\" onclick=\"copyCode(this)\">Copy<\/button>\n    <\/div>\n\n    <h2 style=\"color: #1a3c5e; margin-bottom: 15px; border-bottom: 2px solid #e0e6ed; padding-bottom: 8px;\">Setting Up the Files<\/h2>\n    <p style=\"color: #4a4a4a; line-height: 1.6;\">Create a new directory:<\/p>\n    <div style=\"position: relative; margin-bottom: 20px;\">\n        <pre style=\"background: #1e1e1e; color: #ffffff; padding: 15px; border-radius: 5px; font-size: 14px; line-height: 1.4; overflow-x: auto;\"><code>mkdir mohaa<\/code><\/pre>\n        <button style=\"position: absolute; top: 10px; right: 10px; background: #007bff; color: #ffffff; border: none; padding: 8px 12px; border-radius: 4px; cursor: pointer; font-size: 12px;\" onclick=\"copyCode(this)\">Copy<\/button>\n    <\/div>\n    <p style=\"color: #4a4a4a; line-height: 1.6;\">Navigate to the directory:<\/p>\n    <div style=\"position: relative; margin-bottom: 20px;\">\n        <pre style=\"background: #1e1e1e; color: #ffffff; padding: 15px; border-radius: 5px; font-size: 14px; line-height: 1.4; overflow-x: auto;\"><code>cd mohaa<\/code><\/pre>\n        <button style=\"position: absolute; top: 10px; right: 10px; background: #007bff; color: #ffffff; border: none; padding: 8px 12px; border-radius: 4px; cursor: pointer; font-size: 12px;\" onclick=\"copyCode(this)\">Copy<\/button>\n    <\/div>\n    <p style=\"color: #4a4a4a; line-height: 1.6;\">Download the minimalist server files from github<\/p>\n    <div style=\"position: relative; margin-bottom: 20px;\">\n        <pre style=\"background: #1e1e1e; color: #ffffff; padding: 15px; border-radius: 5px; font-size: 14px; line-height: 1.4; overflow-x: auto;\"><code>git clone https:\/\/github.com\/Grimm1\/main<\/code><\/pre>\n        <button style=\"position: absolute; top: 10px; right: 10px; background: #007bff; color: #ffffff; border: none; padding: 8px 12px; border-radius: 4px; cursor: pointer; font-size: 12px;\" onclick=\"copyCode(this)\">Copy<\/button>\n    <\/div>\n    <p style=\"color: #4a4a4a; line-height: 1.6;\">these are cut down versions of the original game files, they have had all images and sound files replace with placeholders.<\/p>\n\n    <h2 style=\"color: #1a3c5e; margin-bottom: 15px; border-bottom: 2px solid #e0e6ed; padding-bottom: 8px;\">Vanilla Server Setup<\/h2>\n    <p style=\"color: #4a4a4a; line-height: 1.6;\">With the <code>mohaa<\/code> folder as your working directory, download the server files:<\/p>\n    <div style=\"position: relative; margin-bottom: 20px;\">\n        <pre style=\"background: #1e1e1e; color: #ffffff; padding: 15px; border-radius: 5px; font-size: 14px; line-height: 1.4; overflow-x: auto;\"><code>wget grimms3dworlds.ddns.net\/ul\/mohaa_lnxded.tar.gz<\/code><\/pre>\n        <button style=\"position: absolute; top: 10px; right: 10px; background: #007bff; color: #ffffff; border: none; padding: 8px 12px; border-radius: 4px; cursor: pointer; font-size: 12px;\" onclick=\"copyCode(this)\">Copy<\/button>\n    <\/div>\n    <p style=\"color: #4a4a4a; line-height: 1.6;\">Extract the files:<\/p>\n    <div style=\"position: relative; margin-bottom: 20px;\">\n        <pre style=\"background: #1e1e1e; color: #ffffff; padding: 15px; border-radius: 5px; font-size: 14px; line-height: 1.4; overflow-x: auto;\"><code>tar -xvf mohaa_lnxded.tar.gz<\/code><\/pre>\n        <button style=\"position: absolute; top: 10px; right: 10px; background: #007bff; color: #ffffff; border: none; padding: 8px 12px; border-radius: 4px; cursor: pointer; font-size: 12px;\" onclick=\"copyCode(this)\">Copy<\/button>\n    <\/div>\n    <p style=\"color: #4a4a4a; line-height: 1.6;\">Remove the tar file:<\/p>\n    <div style=\"position: relative; margin-bottom: 20px;\">\n        <pre style=\"background: #1e1e1e; color: #ffffff; padding: 15px; border-radius: 5px; font-size: 14px; line-height: 1.4; overflow-x: auto;\"><code>rm mohaa_lnxded.tar.gz<\/code><\/pre>\n        <button style=\"position: absolute; top: 10px; right: 10px; background: #007bff; color: #ffffff; border: none; padding: 8px 12px; border-radius: 4px; cursor: pointer; font-size: 12px;\" onclick=\"copyCode(this)\">Copy<\/button>\n    <\/div>\n    <p style=\"color: #4a4a4a; line-height: 1.6;\">This should result in the following file structure:<\/p>\n    <div style=\"position: relative; margin-bottom: 20px;\">\n        <pre style=\"background: #1e1e1e; color: #ffffff; padding: 15px; border-radius: 5px; font-size: 14px; line-height: 1.4; overflow-x: auto;\">fgameded.so\nmohaa_lnxded\nmain\/\n    pak0.pk3\n    pak1.pk3\n    pak2.pk3\n    pak3.pk3\n    pak4.pk3\n    pak5.pk3\n    pak6.pk3\n    pak7.pk3\n    pak6EnUK.pk3\n<\/pre>\n        \n    <\/div>\n\n    <h2 style=\"color: #1a3c5e; margin-bottom: 15px; border-bottom: 2px solid #e0e6ed; padding-bottom: 8px;\">Reborn Server Setup<\/h2>\n    <p style=\"color: #4a4a4a; line-height: 1.6;\">For a better experience, install the Reborn unofficial 1.12 patch from <a href=\"https:\/\/x-null.net\/MOH2\/\" style=\"color: #007bff;\">https:\/\/x-null.net\/MOH2\/<\/a>. Follow the instructions there to apply the patch.<\/p>\n\n    <h2 style=\"color: #1a3c5e; margin-bottom: 15px; border-bottom: 2px solid #e0e6ed; padding-bottom: 8px;\">Common Setup for Vanilla and Reborn<\/h2>\n    <p style=\"color: #4a4a4a; line-height: 1.6;\">Make the main executable file executable:<\/p>\n    <div style=\"position: relative; margin-bottom: 20px;\">\n        <pre style=\"background: #1e1e1e; color: #ffffff; padding: 15px; border-radius: 5px; font-size: 14px; line-height: 1.4; overflow-x: auto;\"><code>sudo chmod +x mohaa_lnxded<\/code><\/pre>\n        <button style=\"position: absolute; top: 10px; right: 10px; background: #007bff; color: #ffffff; border: none; padding: 8px 12px; border-radius: 4px; cursor: pointer; font-size: 12px;\" onclick=\"copyCode(this)\">Copy<\/button>\n    <\/div>\n    <p style=\"color: #4a4a4a; line-height: 1.6;\">The MOHAA binaries are 32-bit, and modern Linux distributions may lack 32-bit support. Enable it with:<\/p>\n    <div style=\"position: relative; margin-bottom: 20px;\">\n        <pre style=\"background: #1e1e1e; color: #ffffff; padding: 15px; border-radius: 5px; font-size: 14px; line-height: 1.4; overflow-x: auto;\"><code>sudo dpkg --add-architecture i386<\/code><\/pre>\n        <button style=\"position: absolute; top: 10px; right: 10px; background: #007bff; color: #ffffff; border: none; padding: 8px 12px; border-radius: 4px; cursor: pointer; font-size: 12px;\" onclick=\"copyCode(this)\">Copy<\/button>\n    <\/div>\n    <p style=\"color: #4a4a4a; line-height: 1.6;\">Update the package list:<\/p>\n    <div style=\"position: relative; margin-bottom: 20px;\">\n        <pre style=\"background: #1e1e1e; color: #ffffff; padding: 15px; border-radius: 5px; font-size: 14px; line-height: 1.4; overflow-x: auto;\"><code>sudo apt update<\/code><\/pre>\n        <button style=\"position: absolute; top: 10px; right: 10px; background: #007bff; color: #ffffff; border: none; padding: 8px 12px; border-radius: 4px; cursor: pointer; font-size: 12px;\" onclick=\"copyCode(this)\">Copy<\/button>\n    <\/div>\n    <p style=\"color: #4a4a4a; line-height: 1.6;\">Install the required 32-bit dependencies:<\/p>\n    <div style=\"position: relative; margin-bottom: 20px;\">\n        <pre style=\"background: #1e1e1e; color: #ffffff; padding: 15px; border-radius: 5px; font-size: 14px; line-height: 1.4; overflow-x: auto;\"><code>sudo apt-get install libc6-i386 libstdc++5:i386<\/code><\/pre>\n        <button style=\"position: absolute; top: 10px; right: 10px; background: #007bff; color: #ffffff; border: none; padding: 8px 12px; border-radius: 4px; cursor: pointer; font-size: 12px;\" onclick=\"copyCode(this)\">Copy<\/button>\n    <\/div>\n    <p style=\"color: #4a4a4a; line-height: 1.6;\">Test the server installation:<\/p>\n    <div style=\"position: relative; margin-bottom: 20px;\">\n        <pre style=\"background: #1e1e1e; color: #ffffff; padding: 15px; border-radius: 5px; font-size: 14px; line-height: 1.4; overflow-x: auto;\"><code>.\/mohaa_lnxded<\/code><\/pre>\n        <button style=\"position: absolute; top: 10px; right: 10px; background: #007bff; color: #ffffff; border: none; padding: 8px 12px; border-radius: 4px; cursor: pointer; font-size: 12px;\" onclick=\"copyCode(this)\">Copy<\/button>\n    <\/div>\n    <p style=\"color: #4a4a4a; line-height: 1.6;\">Once verified, press <code>Ctrl+C<\/code> to stop the server.<\/p>\n\n    <h2 style=\"color: #1a3c5e; margin-bottom: 15px; border-bottom: 2px solid #e0e6ed; padding-bottom: 8px;\">Server Configuration<\/h2>\n    <p style=\"color: #4a4a4a; line-height: 1.6;\">Create a configuration file (e.g., <code>server.cfg<\/code>) in the <code>main<\/code> folder. Open it in a text editor and paste the following configuration:<\/p>\n    <div style=\"position: relative; margin-bottom: 20px;\">\n        <pre style=\"background: #1e1e1e; color: #ffffff; padding: 15px; border-radius: 5px; font-size: 14px; line-height: 1.4; max-height: 400px; overflow-y: auto; overflow-x: auto;\"><code>\/\/ Medal of Honor: Allied Assault Server Configuration File (Stock + Reborn 1.12 Patch)\n\/\/ Place in the 'main' folder of your MOHAA server directory\n\/\/ Generic values for identifying fields; modify as needed\n\/\/ Some values MAY NOT WORK\n\/\/ Combines stock MOHAA (v1.11) and Reborn 1.12 settings\n\/\/ Reborn settings in a dedicated section\n\/\/ Server Information\nseta sv_hostname \"My MOHAA Server\"  \/\/ Server name displayed in the server browser\nseta sv_maxclients 24               \/\/ Maximum number of players (1-64)\nseta sv_privateClients 0            \/\/ Number of reserved slots for private clients\nseta sv_privatePassword \"\"          \/\/ Password for private slots (leave empty if none)\nseta sv_maxRate 25000               \/\/ Maximum data rate per client (5000-25000, adjust for bandwidth)\nseta sv_maxPing 0                   \/\/ Maximum ping allowed for clients (0 = no limit)\nseta sv_minPing 0                   \/\/ Minimum ping allowed (0 = no limit)\nseta sv_timeout 200                 \/\/ Time (seconds) before dropping inactive clients\nseta sv_zombietime 1                \/\/ Time (seconds) to wait for zombie clients before disconnect\nseta sv_reconnectlimit 10           \/\/ Number of reconnect attempts allowed\nseta sv_cheats 0                    \/\/ Disable cheats (0 = off, 1 = on)\nseta sv_pure 0                      \/\/ Allow custom files (0 = off, 1 = official files only)\nseta sv_fps 20                      \/\/ Server frame rate (20 is default for stability)\nseta sv_floodProtect 1              \/\/ Enable flood protection to prevent spam\nseta sv_flood_waitdelay 10          \/\/ Flood protection delay (seconds)\nseta sv_flood_persecond 4           \/\/ Max messages per second for flood protection\nseta sv_flood_msgs 4                \/\/ Max flood messages\nseta sv_allowDownload 0             \/\/ Disable client downloads to reduce server load\nseta sv_allowAnonymous 0            \/\/ Disallow anonymous clients (0 = must login, 1 = allow anonymous)\nseta sv_precache 1                  \/\/ Precache game assets for faster loading\nseta sv_gamespy 1                   \/\/ Enable Reborn master server compatibility\n\/\/ Admin and Contact Information\n\/\/ Note: rconpassword is best set in the command line for security (e.g., +set rconpassword \"yourpassword\")\n\/\/set rconpassword \"\"          \/\/ RCON password for remote admin access (CHANGE THIS!)\nseta sv_rconIP \"\"                   \/\/ Restrict RCON to specific IP (leave empty for no restriction)\nseta sv_remotetoolip \"\" \/\/ [Reborn] Restrict remote tool access (adjust as needed)\nseta g_motd \"Welcome to My MOHAA Server!\" \/\/ Message of the Day displayed to clients\nseta sv_admin \"ServerAdmin\"         \/\/ Admin name (generic placeholder)\nseta sv_adminemail \"admin@example.com\" \/\/ Admin contact email (generic placeholder)\n\/\/ Gameplay Settings\nseta g_gametype 1                   \/\/ Game mode: 1=Free-for-All, 2=Team-Match, 3=Round-Based, 4=Objective\nseta g_timelimit 10                 \/\/ Time limit per map (minutes, 0 = no limit)\nseta g_roundlimit 0                 \/\/ Number of rounds per map (0 = no limit, for round-based modes)\nseta g_fraglimit 0                  \/\/ Frag limit per map (0 = no limit)\nseta g_warmup 15                    \/\/ Warmup time before match starts (seconds)\nseta g_inactivekick 0               \/\/ Disable kicking inactive players\nseta g_inactivity 0                 \/\/ Disable spectator inactivity timeout\nseta g_forcerespawn 0               \/\/ Allow manual respawn (0 = off)\nseta g_synchronousClients 0         \/\/ Async client updates (0 = off)\nseta g_smoothClients 1              \/\/ Smooth client movement (1 = on)\nseta g_teamdamage 0                 \/\/ Friendly fire: 0 = off, 1 = on\nseta g_forceteambalance 1           \/\/ Force team balance (0 = off, 1 = on)\nseta g_maxTeamKills 3               \/\/ Max team kills before auto-kick (0 = disable)\nseta g_gravity 800                  \/\/ Default gravity\nseta g_knockback 1000               \/\/ Default knockback force\nseta g_speed 320                    \/\/ Default player movement speed\nseta g_healrate 0                   \/\/ Disable health regeneration\nseta g_healthdrop 1                 \/\/ Enable health pickups from players\nseta g_realismmode 0                \/\/ Disable realistic damage\nseta g_forceteamspectate 1          \/\/ Force spectators to team chat only\nseta g_spectate_allow_full_chat 1   \/\/ Allow spectators full chat\nseta sv_team_spawn_interval 0       \/\/ Instant team respawns\nseta g_inactivespectate 0           \/\/ Disable moving inactive players to spectator\nseta g_teamswitchdelay 10           \/\/ Delay before switching teams (seconds)\nseta g_allowjointime 20             \/\/ Time to join match (seconds)\nseta cg_forcemodels 1               \/\/ Force consistent player models\nseta dmrespawning 0                 \/\/ Default DM respawn behavior\nseta dmroundlimit 0                 \/\/ No round limit for DM\n\/\/ Reborn Settings comment if not required\nseta sv_updatedelay 168             \/\/ [Reborn] Check for updates every week (hours)\nseta sv_packetantiflood 0           \/\/ [Reborn] Disable packet flood protection for Autokick\/Foresight\/CI\nseta sv_kickbadcmd 1               \/\/ [Reborn] Kick players for bad commands\nseta10 sv_minclientversion \"1.12\"  \/\/ [Reborn] Enforce Reborn 1.12 client version\nseta sv_info \"MoH:AA 1.12 Reborn Patch\" \/\/ [Reborn] Server info string\nseta sv_antistwh 0                 \/\/ [Reborn] Disable anti-shoot-through-wall protection\nseta sv_antiwh 0                   \/\/ [Reborn] Disable anti-wallhack protection\nseta sv_antiwhskipping 400         \/\/ [Reborn] Anti-wallhack frame skipping (assumed valid)\nseta sv_filterchat 0               \/\/ [Reborn] Disable chat filtering\nseta sv_disablechat 0              \/\/ [Reborn] Enable chat\nseta sv_banning 0                  \/\/ [Reborn] Disable ban file reading\nseta sv_maxconnperip 3             \/\/ [Reborn] Max 3 connections per IP\nseta sv_sounddistance 8000         \/\/ [Reborn] Sound propagation for anti-cheat\nseta sv_kickping 0                 \/\/ [Reborn] Disable ping-based kicking\nseta sv_voting 1                   \/\/ [Reborn] Enable player voting for maps\/modes\nseta sv_votepercent 50             \/\/ [Reborn] Vote pass percentage (50%)\nseta g_scripttrace 0               \/\/ [Reborn] Disable script debugging\nseta sv_chatter 1                  \/\/ [Reborn] Enable in-game chat\n\/\/ Map Rotation\nseta sv_maplist \"dm\/mohdm1 dm\/mohdm2 dm\/mohdm3 dm\/mohdm4 dm\/mohdm6 dm\/mohdm7\" \/\/ List of maps\n\/\/seta sv_maprotation \"gametype ffa map dm\/mohdm1 gametype ffa map dm\/mohdm2 gametype ffa map dm\/mohdm3 gametype ffa map dm\/mohdm4 gametype ffa map dm\/mohdm6 gametype ffa map dm\/mohdm7\" \/\/ Map rotation\nmap \"dm\/mohdm6\"                    \/\/ Start server on dm\/mohdm6\n\/\/ Network Settings\nseta net_noipx 1                    \/\/ Disable IPX protocol (use TCP\/IP only)\n\/\/ Logging\nseta g_log \"qconsole.log\"           \/\/ Log file name\nseta g_logSync 1                    \/\/ Sync log writes (1 = immediate)\nseta g_logstats 1                   \/\/ Enable stats logging\nseta logfile 0                      \/\/ Continuous console logging\n\/\/seta fs_userpath \"\/log\"             \/\/ User data path (adjust for your system)\n\/\/seta fs_outputpath \"\/home\/servers\/logs\/mohaa\" \/\/ Log output path (adjust for your system)\n<\/code><\/pre>\n        <button style=\"position: absolute; top: 10px; right: 10px; background: #007bff; color: #ffffff; border: none; padding: 8px 12px; border-radius: 4px; cursor: pointer; font-size: 12px;\" onclick=\"copyCode(this)\">Copy<\/button>\n    <\/div>\n    <p style=\"background: #e7f3fe; border: 1px solid #b6d4fe; padding: 15px; color: #0c5460; border-radius: 5px; margin-bottom: 20px;\">\n        <strong>Note:<\/strong> Modify the configuration as needed, especially <code>sv_hostname<\/code>, <code>rconpassword<\/code> (set via command line for security), and map rotation settings.\n    <\/p>\n\n    <h2 style=\"color: #1a3c5e; margin-bottom: 15px; border-bottom: 2px solid #e0e6ed; padding-bottom: 8px;\">Running the Server<\/h2>\n    <p style=\"color: #4a4a4a; line-height: 1.6;\">Start the server with the following command:<\/p>\n    <div style=\"position: relative; margin-bottom: 20px;\">\n        <pre style=\"background: #1e1e1e; color: #ffffff; padding: 15px; border-radius: 5px; font-size: 14px; line-height: 1.4; overflow-x: auto;\"><code>.\/mohaa_lnxded +set dedicated 1 +set sv_maxclients 24 +set net_ip 192.168.0.123 +set net_port 12203 +set rconpassword mystrongpassword +exec server.cfg<\/code><\/pre>\n        <button style=\"position: absolute; top: 10px; right: 10px; background: #007bff; color: #ffffff; border: none; padding: 8px 12px; border-radius: 4px; cursor: pointer; font-size: 12px;\" onclick=\"copyCode(this)\">Copy<\/button>\n    <\/div>\n    <p style=\"color: #4a4a4a; line-height: 1.6;\"><strong>Command Parameters:<\/strong><\/p>\n    <ul style=\"color: #4a4a4a; padding-left: 20px;\">\n        <li style=\"margin-bottom: 8px;\"><code>sv_maxclients<\/code>: Sets the maximum number of players.<\/li>\n        <li style=\"margin-bottom: 8px;\"><code>net_ip<\/code>: The local IP of the server (e.g., <code>192.168.0.123<\/code>).<\/li>\n        <li style=\"margin-bottom: 8px;\"><code>net_port<\/code>: The port for the server (default: 12203; use different ports for multiple servers).<\/li>\n        <li style=\"margin-bottom: 8px;\"><code>rconpassword<\/code>: Sets the RCON password for remote administration.<\/li>\n        <li style=\"margin-bottom: 8px;\"><code>+exec server.cfg<\/code>: Specifies the configuration file to use.<\/li>\n    <\/ul>\n    <p style=\"background: #fff3cd; border: 1px solid #ffeeba; padding: 15px; color: #856404; border-radius: 5px; margin-bottom: 20px;\">\n        <strong>Port Forwarding:<\/strong> Ensure port 12203 (or your chosen port) is forwarded on your router to the server&#8217;s local IP. You should also forward 12300. Other ports may be required.<br>\n        <strong>IMPORTANT:<\/strong> The 12300 port is ALWAYS 12300 for the first server you run NO MATTER ITS PORT.<br>\n        E.G. for 3 servers:<br>\n        <table style=\"width: 100%; border-collapse: collapse; margin-top: 10px;\">\n            <tr style=\"background: #f8f9fa;\">\n                <th style=\"border: 1px solid #dee2e6; padding: 10px; color: #1a3c5e;\">Server Port<\/th>\n                <th style=\"border: 1px solid #dee2e6; padding: 10px; color: #1a3c5e;\">Query port<\/th>\n            <\/tr>\n            <tr>\n                <td style=\"border: 1px solid #dee2e6; padding: 10px;color: #1a3c5e\">12204<\/td>\n                <td style=\"border: 1px solid #dee2e6; padding: 10px;color: #1a3c5e\">12300<\/td>\n            <\/tr>\n            <tr>\n                <td style=\"border: 1px solid #dee2e6; padding: 10px;color: #1a3c5e\">12206<\/td>\n                <td style=\"border: 1px solid #dee2e6; padding: 10px;color: #1a3c5e\">12301<\/td>\n            <\/tr>\n            <tr>\n                <td style=\"border: 1px solid #dee2e6; padding: 10px;color: #1a3c5e\">12222<\/td>\n                <td style=\"border: 1px solid #dee2e6; padding: 10px;color: #1a3c5e\">12302<\/td>\n            <\/tr>\n        <\/table>\n    <\/p>\n\n    <h2 style=\"color: #1a3c5e; margin-bottom: 15px; border-bottom: 2px solid #e0e6ed; padding-bottom: 8px;\">Running as a Service<\/h2>\n    <p style=\"color: #4a4a4a; line-height: 1.6;\">To run the server as a service in a <code>tmux<\/code> session, create the following <code>systemd<\/code> service files.<\/p>\n    <h3 style=\"color: #1a3c5e; margin-bottom: 15px; border-bottom: 1px solid #e0e6ed; padding-bottom: 8px;\">Master TMUX Service<\/h3>\n    <p style=\"color: #4a4a4a; line-height: 1.6;\">Create <code>\/etc\/systemd\/system\/master.service<\/code> with:<\/p>\n    <div style=\"position: relative; margin-bottom: 20px;\">\n        <pre style=\"background: #1e1e1e; color: #ffffff; padding: 15px; border-radius: 5px; font-size: 14px; line-height: 1.4; overflow-x: auto;\"><code>[Unit]\nDescription=tmux master service\nWants=network-online.target\n[Service]\nType=forking\nUser=gameservers\nExecStart=\/usr\/bin\/tmux new-session -s master -d\nExecStop=\/usr\/bin\/tmux kill-session -t master\n[Install]\nWantedBy=multi-user.target\n<\/code><\/pre>\n        <button style=\"position: absolute; top: 10px; right: 10px; background: #007bff; color: #ffffff; border: none; padding: 8px 12px; border-radius: 4px; cursor: pointer; font-size: 12px;\" onclick=\"copyCode(this)\">Copy<\/button>\n    <\/div>\n    <h3 style=\"color: #1a3c5e; margin-bottom: 15px; border-bottom: 1px solid #e0e6ed; padding-bottom: 8px;\">MOHAA Server Service<\/h3>\n    <p style=\"color: #4a4a4a; line-height: 1.6;\">Create <code>\/etc\/systemd\/system\/mohserver.service<\/code> with:<\/p>\n    <div style=\"position: relative; margin-bottom: 20px;\">\n        <pre style=\"background: #1e1e1e; color: #ffffff; padding: 15px; border-radius: 5px; font-size: 14px; line-height: 1.4; overflow-x: auto;\"><code>[Unit]\nDescription=TMUX MOHAA Server\nPartOf=master.service\nAfter=master.service\n[Service]\nType=forking\nUser=gameservers\nExecStart=\/usr\/bin\/tmux new-session -s mohserver -d 'cd \/home\/gameservers\/mohaa && .\/mohaa_lnxded +set dedicated 1 +set sv_maxclients 24 +set net_ip 192.168.0.123 +set net_port 12203 +exec server.cfg'\nExecStop=\/usr\/bin\/tmux kill-session -t mohserver\nRestart=always\nRestartSec=5\nWorkingDirectory=\/home\/gameservers\/mohaa\nRemainAfterExit=yes\n[Install]\nWantedBy=multi-user.target\n<\/code><\/pre>\n        <button style=\"position: absolute; top: 10px; right: 10px; background: #007bff; color: #ffffff; border: none; padding: 8px 12px; border-radius: 4px; cursor: pointer; font-size: 12px;\" onclick=\"copyCode(this)\">Copy<\/button>\n    <\/div>\n    <p style=\"color: #4a4a4a; line-height: 1.6;\">Enable and start the services:<\/p>\n<p style=\"color: #4a4a4a; line-height: 1.6;\">Reload the systemd daemon:<\/p>\n<div style=\"position: relative; margin-bottom: 20px;\">\n    <pre style=\"background: #1e1e1e; color: #ffffff; padding: 15px; border-radius: 5px; font-size: 14px; line-height: 1.4; overflow-x: auto;\"><code>sudo systemctl daemon-reload<\/code><\/pre>\n    <button style=\"position: absolute; top: 10px; right: 10px; background: #007bff; color: #ffffff; border: none; padding: 8px 12px; border-radius: 4px; cursor: pointer; font-size: 12px;\" onclick=\"copyCode(this)\">Copy<\/button>\n<\/div>\n\n<p style=\"color: #4a4a4a; line-height: 1.6;\">Enable the master service:<\/p>\n<div style=\"position: relative; margin-bottom: 20px;\">\n    <pre style=\"background: #1e1e1e; color: #ffffff; padding: 15px; border-radius: 5px; font-size: 14px; line-height: 1.4; overflow-x: auto;\"><code>sudo systemctl enable master.service<\/code><\/pre>\n    <button style=\"position: absolute; top: 10px; right: 10px; background: #007bff; color: #ffffff; border: none; padding: 8px 12px; border-radius: 4px; cursor: pointer; font-size: 12px;\" onclick=\"copyCode(this)\">Copy<\/button>\n<\/div>\n\n<p style=\"color: #4a4a4a; line-height: 1.6;\">Enable the mohserver service:<\/p>\n<div style=\"position: relative; margin-bottom: 20px;\">\n    <pre style=\"background: #1e1e1e; color: #ffffff; padding: 15px; border-radius: 5px; font-size: 14px; line-height: 1.4; overflow-x: auto;\"><code>sudo systemctl enable mohserver.service<\/code><\/pre>\n    <button style=\"position: absolute; top: 10px; right: 10px; background: #007bff; color: #ffffff; border: none; padding: 8px 12px; border-radius: 4px; cursor: pointer; font-size: 12px;\" onclick=\"copyCode(this)\">Copy<\/button>\n<\/div>\n\n<p style=\"color: #4a4a4a; line-height: 1.6;\">Start the master service:<\/p>\n<div style=\"position: relative; margin-bottom: 20px;\">\n    <pre style=\"background: #1e1e1e; color: #ffffff; padding: 15px; border-radius: 5px; font-size: 14px; line-height: 1.4; overflow-x: auto;\"><code>sudo systemctl start master.service<\/code><\/pre>\n    <button style=\"position: absolute; top: 10px; right: 10px; background: #007bff; color: #ffffff; border: none; padding: 8px 12px; border-radius: 4px; cursor: pointer; font-size: 12px;\" onclick=\"copyCode(this)\">Copy<\/button>\n<\/div>\n\n<p style=\"color: #4a4a4a; line-height: 1.6;\">Start the mohserver service:<\/p>\n<div style=\"position: relative; margin-bottom: 20px;\">\n    <pre style=\"background: #1e1e1e; color: #ffffff; padding: 15px; border-radius: 5px; font-size: 14px; line-height: 1.4; overflow-x: auto;\"><code>sudo systemctl start mohserver.service<\/code><\/pre>\n    <button style=\"position: absolute; top: 10px; right: 10px; background: #007bff; color: #ffffff; border: none; padding: 8px 12px; border-radius: 4px; cursor: pointer; font-size: 12px;\" onclick=\"copyCode(this)\">Copy<\/button>\n\n\n        <button style=\"position: absolute; top: 10px; right: 10px; background: #007bff; color: #ffffff; border: none; padding: 8px 12px; border-radius: 4px; cursor: pointer; font-size: 12px;\" onclick=\"copyCode(this)\">Copy<\/button>\n    <\/div>\n    <p style=\"color: #4a4a4a; line-height: 1.6;\">Check the service status:<\/p>\n    <div style=\"position: relative; margin-bottom: 20px;\">\n        <pre style=\"background: #1e1e1e; color: #ffffff; padding: 15px; border-radius: 5px; font-size: 14px; line-height: 1.4; overflow-x: auto;\"><code>sudo systemctl status mohserver.service<\/code><\/pre>\n        <button style=\"position: absolute; top: 10px; right: 10px; background: #007bff; color: #ffffff; border: none; padding: 8px 12px; border-radius: 4px; cursor: pointer; font-size: 12px;\" onclick=\"copyCode(this)\">Copy<\/button>\n    <\/div>\n    <p style=\"color: #4a4a4a; line-height: 1.6;\">Access the tmux session:<\/p>\n    <div style=\"position: relative; margin-bottom: 20px;\">\n        <pre style=\"background: #1e1e1e; color: #ffffff; padding: 15px; border-radius: 5px; font-size: 14px; line-height: 1.4; overflow-x: auto;\"><code>tmux attach-session -t mohserver<\/code><\/pre>\n        <button style=\"position: absolute; top: 10px; right: 10px; background: #007bff; color: #ffffff; border: none; padding: 8px 12px; border-radius: 4px; cursor: pointer; font-size: 12px;\" onclick=\"copyCode(this)\">Copy<\/button>\n    <\/div>\n    <p style=\"background: #e7f3fe; border: 1px solid #b6d4fe; padding: 15px; color: #0c5460; border-radius: 5px; margin-bottom: 20px;\">\n        <strong>Note:<\/strong> The server will now run as a background service and automatically restart if it crashes. Use <code>tmux<\/code> to monitor or manage the session.\n    <\/p>\n\n<\/div>\n\n<script>\nfunction copyCode(button) {\n    const pre = button.previousElementSibling;\n    const code = pre.querySelector('code');\n    const text = code.innerText;\n    navigator.clipboard.writeText(text).then(() => {\n        button.textContent = 'Copied!';\n        button.style.background = '#28a745';\n        setTimeout(() => {\n            button.textContent = 'Copy';\n            button.style.background = '#007bff';\n        }, 2000);\n    }).catch(err => {\n        console.error('Failed to copy: ', err);\n    });\n}\n<\/script>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>This guide walks you through setting up a Medal of Honor: Allied Assault server on an Ubuntu Server. Follow the steps carefully to ensure a smooth setup. The guide supports both the vanilla (v1.11) and Reborn (v1.12) patches. Requirements Ubuntu Server Local IP of the server (e.g., 192.168.0.123) Access to your router to forward ports [&#8230;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1411","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/grimms3dworlds.ddns.net\/index.php\/wp-json\/wp\/v2\/pages\/1411","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/grimms3dworlds.ddns.net\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/grimms3dworlds.ddns.net\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/grimms3dworlds.ddns.net\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/grimms3dworlds.ddns.net\/index.php\/wp-json\/wp\/v2\/comments?post=1411"}],"version-history":[{"count":37,"href":"https:\/\/grimms3dworlds.ddns.net\/index.php\/wp-json\/wp\/v2\/pages\/1411\/revisions"}],"predecessor-version":[{"id":1453,"href":"https:\/\/grimms3dworlds.ddns.net\/index.php\/wp-json\/wp\/v2\/pages\/1411\/revisions\/1453"}],"wp:attachment":[{"href":"https:\/\/grimms3dworlds.ddns.net\/index.php\/wp-json\/wp\/v2\/media?parent=1411"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}