Repository navigation
Cod4server
This guide covers the cod4server module in AlphaGSM.
cod4server is currently ENABLED (BYO) on the documented Ubuntu 24.04
Linux baseline. The current GitHub integration lane still exercises both
process and Docker runtime selection around that owned-base-assets
prerequisite, while local runs remain process-backed by default unless you opt
into the Docker backend.
screen- owned original-2007 multiplayer assets:
main/iw_*.iwdand everyzone/english/mp_*.ffmap, pluszone/english/localized_common_mp.ff - a legacy disc tree can instead provide
fileSysCheck.cfgandmain/localized_*.iwd - Python packages from
requirements.txt
Create the server:
alphagsm mycod4serv create cod4serverFor an owned Steam copy, sign in once and let setup acquire the declared files:
alphagsm steam-auth login owned your_steam_username
alphagsm mycod4serv setup --auth-profile ownedEnter credentials only at the local SteamCMD prompts. For an existing local
Steam library, use setup --steam-dir /path/to/SteamLibrary/steamapps instead.
Authenticated setup of Steam app 7940 imported main/iw_00.iwd through
iw_13.iwd, localized_english_iw00.iwd through iw06.iwd, and the
zone/english multiplayer fastfiles. It does not need fileSysCheck.cfg.
AlphaGSM installs CoD4x cod4x18_dedrun for that tree. Local process query
and info answered native Quake getstatus on mp_crash and the server
stopped cleanly. Docker was not rerun.
Start it:
alphagsm mycod4serv startCheck it:
alphagsm mycod4serv statusStop it:
alphagsm mycod4serv stopSetup configures:
- the game port (default 28960)
- the install directory
- downloads the CoD4x 21.2
cod4x18_dedrunbinary and marks it executable - keeps every dedicated multiplayer fastfile and drops campaign fastfiles, movies, and client binaries
cod4server is supported in ENABLED (BYO) mode. AlphaGSM installs the CoD4x
Linux dedicated binary for you. That binary does not include the owned
multiplayer IWDs or fastfiles.
If using setup without an asset source or saved profile, before start copy the required owned files from a legitimate Call of Duty 4
installation into the AlphaGSM server tree:
<install_dir>/main/iw_*.iwd
<install_dir>/zone/english/mp_*.ff
<install_dir>/zone/english/localized_common_mp.ff
A legacy tree uses these paths instead of the localized fastfile:
<install_dir>/fileSysCheck.cfg
<install_dir>/main/localized_*.iwd
Manual-copy alternative:
alphagsm mycod4serv create cod4server
alphagsm mycod4serv setup
cp /path/to/cod4/fileSysCheck.cfg <install_dir>/
cp /path/to/cod4/main/localized_*.iwd <install_dir>/main/
alphagsm mycod4serv startIf the server still exits immediately, a legacy tree needs fileSysCheck.cfg
at the server root and main/localized_*.iwd. A Steam app 7940 tree instead
needs zone/english/localized_common_mp.ff, the shared multiplayer fastfiles,
and every zone/english/mp_*.ff map. Do not copy the 2008 archive's
libstdc++.so.6 or libgcc_s.so.1 next to cod4x18_dedrun.
alphagsm mycod4serv update
alphagsm mycod4serv backup- Module name:
cod4server - Default port: 28960
- Anonymous setup still needs the owned IWDs and
zone/english/mp_*.ffmaps. Local authenticated setup of app 7940 completed a native Quake lifecycle onmp_crashand stopped cleanly. Docker was not rerun. - Dedicated installs must contain every multiplayer map. Campaign fastfiles
such as
ac130.ffare not required
After create cod4server, inspect or change these with set:
alphagsm myserver set --list
alphagsm myserver set KEY --describe
alphagsm myserver set KEY VALUE| Key | Aliases | Type | What it does |
|---|---|---|---|
dir |
— | string | Install directory for the server. |
download_name |
— | string | Cached archive filename. |
exe_name |
— | string | Server executable filename. |
hostname |
servername, name | string | The advertised server name. |
moddir |
— | string | The active Call of Duty 4 mod directory. Example: baseq3. |
port |
gameport | integer | The game port for the server. Example: 27960. |
startmap |
map, gamemap, level, world | string | The startup map. |
url |
— | string | Download URL for the server archive. |
-
Executable:
cod4x18_dedrun -
Location:
<install_dir>/cod4x18_dedrun - Engine: Custom
-
Config file:
<moddir>/server.cfg(defaultmain/server.cfg) -
set servername,set moddir, andset maprewrite<moddir>/server.cfgimmediately through the schema-backed config-sync path. - Startup runs
./cod4x18_dedrunwith+set dedicated 2and+set sv_punkbuster 0, and setsfs_basepathandfs_homepathto.so the server does not use~/.callofduty4. It does not setLD_LIBRARY_PATH=.. The 2008 archive'slibstdc++.so.6andlibgcc_s.so.1are not placed beside CoD4x. -
sv_authtokenis only for the CoD4x master list and is not required for a local query. - CoD4x 21.2 does not publish
main/xbase_00.iwd. AlphaGSM does not download it. The validated local start ran without that file. -
Owned base assets still required:
main/*.iwd, everyzone/english/mp_*.ff, and eitherzone/english/localized_common_mp.ffor legacyfileSysCheck.cfgplusmain/localized_*.iwd -
Copy targets before first start:
<install_dir>/main/for IWDs and<install_dir>/zone/english/for multiplayer fastfiles - Template: See server-templates/cod4server/ if available
-
Map directory:
<install_dir>/<moddir>/ -
Mod directory:
<install_dir>/<moddir>/(default<install_dir>/main/) - Workshop support: No
Call of Duty 4 supports AlphaGSM-managed direct url mod sources for content-only .pk3 payloads.
Supported payload shapes:
- a direct
.pk3URL - an archive containing bare
.pk3files at the archive root - an archive containing
<moddir>/<name>.pk3
AlphaGSM installs approved .pk3 content into the active moddir, tracks only the files it owns, and keeps the active moddir in the managed backup targets.
Examples:
alphagsm mycod4serv mod add url https://example.com/custom.pk3
alphagsm mycod4serv mod add url https://example.com/custom-pack.zip
alphagsm mycod4serv mod apply
alphagsm mycod4serv mod cleanupInspect this game's required files, source instructions and destinations with
alphagsm <server-name> assets requirements; check the declared files with
alphagsm <server-name> assets check. File checks do not establish game readiness.
The preferred Steam-owned path is alphagsm steam-auth login owned <username>,
then alphagsm <server-name> setup --auth-profile owned. Setup remembers the
profile name and fetches missing required files before installing the engine.
Use setup --steam-dir /path/to/SteamLibrary/steamapps to import from an existing
Steam library instead. Direct file acquisition remains available through
assets fetch steam-owned --auth-profile owned.
Authenticated downloads remain unverified here.
See BYO files and private SteamCMD acquisition.