{"id":1466,"date":"2025-07-18T11:19:53","date_gmt":"2025-07-18T10:19:53","guid":{"rendered":"https:\/\/grimms3dworlds.ddns.net\/?page_id=1466"},"modified":"2025-07-18T11:23:10","modified_gmt":"2025-07-18T10:23:10","slug":"call-of-duty-1-server-setup-linux","status":"publish","type":"page","link":"https:\/\/grimms3dworlds.ddns.net\/index.php\/call-of-duty-1-server-setup-linux\/","title":{"rendered":"Call of Duty 1 Server setup (Linux)"},"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 Call of Duty 1 server on an Ubuntu Server. Follow the steps carefully to ensure a smooth setup. The guide support is for version 1.5 only.<\/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;\">A Copy of Call of duty patched to the 1.5 patch (steam version will work also)<\/li>\n        <li style=\"margin-bottom: 8px;\">Access to your router to forward ports (default: 28960)<\/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 cod1<\/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 cod1<\/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;\">Create a main folder<\/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 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;\">Copy all of your pk3 files from your existing games installed main folder. Use ssh (bitvise) or ftp if you have access. <span style=\"color: red;\">ONLY the .pk3 files are required!<\/span><\/p>\n\n    <p style=\"color: #4a4a4a; line-height: 1.6;\">Create a pb folder (optional for punkbuster support (defunct))<\/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 pb<\/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;\">Copy all of the files from your games installed pb folder. Use ssh (bitvise) or ftp if you have access. <br>Make sure Punkbuster is up to date!<\/p>\n\n    <p style=\"color: #4a4a4a; line-height: 1.6;\">With the <code>cod1<\/code> folder as your working directory, download the server binary 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\/cod1bins.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 cod1bins.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 cod1bins.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;\">\ncod_lnxded\nmain\/\n    game.mp.i386.so\n    pak0.pk3        pak9.pk3\n    pak1.pk3        localized_english_pak0.pk3      \/\/\n    pak2.pk3        localized_english_pak1.pk3      \/\/ localized files may  \n    pak3.pk3        localized_english_pak2.pk3      \/\/ differ depending\n    pak4.pk3        localized_english_pak3.pk3      \/\/ on game language\n    pak5.pk3        localized_english_pak4.pk3      \/\/ version.\n    pak6.pk3        paka.pk3\n    pak7.pk3        pakb.pk3\n    pak8.pk3\n<\/pre>\n        \n    <\/div>\n\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 cod_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 Spearhead 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>.\/cod_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>mainta<\/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>\n\/\/ Call of Duty 1 (v1.5) Server Configuration File\n\/\/ Save this as server.cfg in the 'main' folder of your Call of Duty installation\n\/\/ Ensure the server is running version 1.5 (Steam version includes this patch)\n\/\/Punkbuster settings are NOT included\n\n\/\/ --------------------------------\n\/\/ Server Information\n\/\/ --------------------------------\nset sv_hostname \"My CoD1 Server\"           \/\/ Server name displayed in server browser\nsets _Admin \"Your Name\"                    \/\/ Administrator name (optional)\nsets _Email \"admin@yourdomain.com\"         \/\/ Administrator email (optional)\nsets _URL \"www.yourwebsite.com\"            \/\/ Website URL (optional)\nsets _Location \"Your Location\"             \/\/ Server location (e.g., \"USA\")\nset scr_motd \"Welcome to My CoD1 Server!\"  \/\/ Message of the Day displayed to players\nset gamename \"Call of Duty\"                \/\/ Game name for xFire or server lists\n\n\/\/ --------------------------------\n\/\/ Server Options\n\/\/ --------------------------------\nset sv_maxclients \"16\"                     \/\/ Maximum number of players (1-32 recommended)\nset sv_privateclients \"0\"                  \/\/ Number of private slots (requires password)\nset sv_privatePassword \"\"                  \/\/ Password for private slots (leave empty if unused)\nset g_password \"\"                          \/\/ Server password (leave empty for public server)\n\/\/set rcon_password \"change_me\"            \/\/ Set this in the command line for security\nset sv_pure \"1\"                            \/\/ Enforce pure server (1 = verify client files, 0 = off)\nset sv_cheats \"0\"                          \/\/ Disable cheats (0 = off, 1 = on)\nset sv_fps \"20\"                            \/\/ Server tick rate (20 is standard for CoD1)\nset sv_allowAnonymous \"0\"                  \/\/ Allow anonymous players (0 = off, 1 = on)\nset sv_floodprotect \"1\"                    \/\/ Enable flood protection (1 = on, 0 = off)\nset g_inactivity \"0\"                       \/\/ Time (seconds) before kicking inactive players (0 = disabled)\nset sv_timeout \"40\"                        \/\/ Seconds to keep a client without a message\nset sv_connectTimeout \"90\"                 \/\/ Seconds to wait for a client loading a map\nset sv_zombieTime \"2\"                      \/\/ Seconds to keep a disconnected client to transmit last message\nset sv_reconnectlimit \"5\"                  \/\/ Seconds to disallow reconnects for a client\n\n\/\/ --------------------------------\n\/\/ Network Options\n\/\/ --------------------------------\nset sv_maxRate \"25000\"                     \/\/ Maximum data rate per client (bytes\/sec, 25000 is standard)\nset sv_minPing \"0\"                         \/\/ Minimum ping allowed (0 = no restriction)\nset sv_maxPing \"350\"                       \/\/ Maximum ping allowed (0 = no restriction)\nset sv_allowdownload \"1\"                   \/\/ Allow clients to download files (1 = on, 0 = off)\nset sv_wwwDownload \"0\"                     \/\/ Enable HTTP\/FTP downloads (0 = off, 1 = on)\nset sv_wwwBaseURL \"\"                       \/\/ URL for HTTP\/FTP downloads (e.g., \"http:\/\/yourdomain.com\/cod\")\nset sv_wwwDlDisconnected \"0\"               \/\/ Disconnect clients during download (0 = no, 1 = yes)\n\n\/\/ --------------------------------\n\/\/ Logging\n\/\/ --------------------------------\nset g_log \"\"                               \/\/ Log file name (e.g., \"games_mp.log\", empty = no logging)\nset g_logsync \"1\"                          \/\/ Log sync mode (0 = no sync, 1 = sync, 2 = continuous)\nset logfile \"1\"                            \/\/ Enable console logging (1 = on, 0 = off)\n\n\/\/ --------------------------------\n\/\/ Game Options\n\/\/ --------------------------------\nset g_allowvote \"0\"                        \/\/ Allow voting (0 = off, 1 = on)\nset scr_allow_vote \"0\"                     \/\/ Allow specific votes (0 = off, 1 = on)\nset scr_drawfriend \"0\"                     \/\/ Show friendly player icons (0 = off, 1 = on)\nset scr_friendlyfire \"0\"                    \/\/ Friendly fire (0 = off, 1 = on, 2 = reflect, 3 = shared)\nset scr_teambalance \"1\"                    \/\/ Auto team balance (0 = off, 1 = on)\nset scr_forcerespawn \"0\"                   \/\/ Force players to respawn (0 = off, 1 = on)\nset scr_killcam \"0\"                        \/\/ Enable killcam (0 = off, 1 = on)\nset scr_spectatefree \"0\"                   \/\/ Allow free spectating (0 = off, 1 = on)\nset scr_spectateenemy \"0\"                  \/\/ Allow spectating enemies (0 = off, 1 = on)\n\n\/\/ --------------------------------\n\/\/ Game Type Settings\n\/\/ --------------------------------\n\/\/ Deathmatch (dm)\nset scr_dm_scorelimit \"50\"                 \/\/ Score limit for Deathmatch\nset scr_dm_timelimit \"30\"                  \/\/ Time limit (minutes) for Deathmatch\n\n\/\/ Team Deathmatch (tdm)\nset scr_tdm_scorelimit \"100\"               \/\/ Score limit for Team Deathmatch\nset scr_tdm_timelimit \"30\"                 \/\/ Time limit (minutes) for Team Deathmatch\n\n\/\/ Behind Enemy Lines (bel)\nset scr_bel_scorelimit \"50\"                \/\/ Score limit for Behind Enemy Lines\nset scr_bel_timelimit \"30\"                 \/\/ Time limit (minutes) for Behind Enemy Lines\nset scr_bel_alivepointtime \"10\"            \/\/ Seconds to gain a point for staying alive as Allied\n\n\/\/ Retrieval (re)\nset scr_re_scorelimit \"10\"                 \/\/ Score limit for Retrieval\nset scr_re_timelimit \"20\"                  \/\/ Time limit (minutes) for Retrieval\nset scr_re_graceperiod \"15\"                \/\/ Seconds at round start for spawning\/weapon selection (0-60)\nset scr_re_roundlength \"4\"                 \/\/ Round length (minutes)\nset scr_re_roundlimit \"0\"                  \/\/ Maximum number of rounds (0 = unlimited)\nset scr_re_showcarrier \"0\"                 \/\/ Show objective carrier on compass (0 = off, 1 = on)\n\n\/\/ Search and Destroy (sd)\nset scr_sd_scorelimit \"10\"                 \/\/ Score limit for Search and Destroy\nset scr_sd_timelimit \"30\"                  \/\/ Time limit (minutes) for Search and Destroy\nset scr_sd_graceperiod \"15\"                \/\/ Seconds at round start for spawning\/weapon selection (0-60)\nset scr_sd_roundlength \"4\"                 \/\/ Round length (minutes)\nset scr_sd_roundlimit \"0\"                  \/\/ Maximum number of rounds (0 = unlimited)\n\n\/\/ Headquarters (hq)\nset scr_hq_scorelimit \"0\"                  \/\/ Score limit for Headquarters (0 = unlimited)\nset scr_hq_timelimit \"60\"                  \/\/ Time limit (minutes) for Headquarters\n\n\/\/ --------------------------------\n\/\/ Weapon Settings\n\/\/ --------------------------------\nset scr_allow_m1carbine \"1\"                \/\/ Allow M1 Carbine (1 = on, 0 = off)\nset scr_allow_m1garand \"1\"                 \/\/ Allow M1 Garand\nset scr_allow_enfield \"1\"                  \/\/ Allow Lee-Enfield\nset scr_allow_bar \"1\"                      \/\/ Allow BAR\nset scr_allow_bren \"1\"                     \/\/ Allow Bren\nset scr_allow_mp40 \"1\"                     \/\/ Allow MP40\nset scr_allow_mp44 \"1\"                     \/\/ Allow MP44\nset scr_allow_sten \"1\"                     \/\/ Allow Sten\nset scr_allow_ppsh \"1\"                     \/\/ Allow PPSh-41\nset scr_allow_thompson \"1\"                 \/\/ Allow Thompson\nset scr_allow_panzerfaust \"1\"              \/\/ Allow Panzerfaust\nset scr_allow_springfield \"1\"              \/\/ Allow Springfield\nset scr_allow_kar98ksniper \"1\"             \/\/ Allow Kar98k Sniper\nset scr_allow_nagantsniper \"1\"             \/\/ Allow Mosin-Nagant Sniper\nset scr_allow_kar98k \"1\"                   \/\/ Allow Kar98k\nset scr_allow_nagant \"1\"                   \/\/ Allow Mosin-Nagant\nset scr_allow_mg42 \"1\"                     \/\/ Allow MG42\n\n\/\/ --------------------------------\n\/\/ Map Rotation\n\/\/ --------------------------------\nset sv_mapRotation \"gametype tdm map mp_bocage gametype tdm map mp_depot gametype sd map mp_harbor gametype sd map mp_railyard gametype bel map mp_carentan gametype re map mp_chateau gametype hq map mp_dawnville\" \/\/ Map rotation sequence\nmap_rotate                                 \/\/ Start map rotation\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>.\/cod1_lnxded +set sv_punkbuster 0 +set dedicated 1 +set sv_maxclients 24 +set net_ip 192.168.0.123 +set net_port 28960 +set rconpassword mystrongpassword +exec server.cfg +map mp_carentan<\/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_punkbuster<\/code>: Turns punkbuster on or off<\/li>\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: 28960; 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        <li style=\"margin-bottom: 8px;\"><code>+map mp_carentan<\/code>: Specifies the starting map for the game (without it the server wont start).<\/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 28960 (or your chosen port) is forwarded on your router to the server&#8217;s local IP. You should also forward 20500 and 20510. Other ports may be required.<br>\n        <strong>IMPORTANT:<\/strong> For multiple servers the 20500 and 20510 ports are still valid, for a second server you only need to forward the main port (E.G. 28961)<br>\n\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;\">Call of Duty 1 Server Service<\/h3>\n    <p style=\"color: #4a4a4a; line-height: 1.6;\">Create <code>\/etc\/systemd\/system\/cod1server.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 Call of Duty 1 Server\nPartOf=master.service\nAfter=master.service\n[Service]\nType=forking\nUser=gameservers\nExecStart=\/usr\/bin\/tmux new-session -s cod1server -d 'cd \/home\/gameservers\/cod1 && +set sv_punkbuster 0 +set dedicated 1 +set sv_maxclients 24 +set net_ip 192.168.0.123 +set net_port 28960 +set rconpassword mystrongpassword +exec server.cfg +map mp_carentan'\nExecStop=\/usr\/bin\/tmux kill-session -t cod1server\nRestart=always\nRestartSec=5\nWorkingDirectory=\/home\/gameservers\/mohaash\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 cod1server 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 cod1server 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 cod1server.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 cod1server.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 cod1server<\/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","protected":false},"excerpt":{"rendered":"<p>This guide walks you through setting up a Call of Duty 1 server on an Ubuntu Server. Follow the steps carefully to ensure a smooth setup. The guide support is for version 1.5 only. Requirements Ubuntu Server Local IP of the server (e.g., 192.168.0.123) A Copy of Call of duty patched to the 1.5 patch [&#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-1466","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/grimms3dworlds.ddns.net\/index.php\/wp-json\/wp\/v2\/pages\/1466","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=1466"}],"version-history":[{"count":6,"href":"https:\/\/grimms3dworlds.ddns.net\/index.php\/wp-json\/wp\/v2\/pages\/1466\/revisions"}],"predecessor-version":[{"id":1476,"href":"https:\/\/grimms3dworlds.ddns.net\/index.php\/wp-json\/wp\/v2\/pages\/1466\/revisions\/1476"}],"wp:attachment":[{"href":"https:\/\/grimms3dworlds.ddns.net\/index.php\/wp-json\/wp\/v2\/media?parent=1466"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}