United Offensive is an expansion, not a standalone game, and that single fact causes most
UO server problems: the UO server needs the base Call of Duty paks as well as its own.
Copy only the uo/ directory across and the server starts, loads nothing, and drops every
connecting client.
What you need
| Item | Notes |
|---|---|
| CoD1 paks | pak0.pk3 … pakb.pk3 in main/ |
| UO paks | uo_pak0.pk3 … in uo/ |
| Dedicated binary | coduo_lnxded (Linux) or CoDUOMP.exe +set dedicated 2 |
| Patch | 1.51 |
| Map pack | Official UO map pack |
| Ports | UDP 28960 inbound |
Both the 1.51 patch and the official map pack are on the war24.net downloads page.
Directory layout
/opt/coduo/
├── coduo_lnxded
├── main/ # base Call of Duty paks, REQUIRED
│ ├── pak0.pk3 … pakb.pk3
│ └── localized_english_pak0.pk3 …
└── uo/ # United Offensive content
├── uo_pak0.pk3 …
└── server.cfg
The fs_game requirement
UO content lives in the uo gamedir, and the server only mounts it if you say so:
./coduo_lnxded \
+set fs_game uo \
+set fs_basepath /opt/coduo \
+set fs_homepath /opt/coduo \
+set dedicated 2 \
+set net_port 28960 \
+set rconpassword "change-me" \
+exec server.cfg \
+map mp_arnhem
Without +set fs_game uo you get a server running the base CoD1 content under the UO
binary, which no UO client will join cleanly.
32-bit libraries
Same as CoD1, since it is the same engine generation:
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install -y libc6:i386 libgcc-s1:i386 lib32stdc++6 libstdc++5:i386
server.cfg
Place it in uo/server.cfg:
seta sv_hostname "^3My ^7CoD:UO Server"
set rconpassword "change-me"
set g_gametype "tdm"
set sv_maxclients 32
set sv_pure 1
set sv_allowDownload 1
set sv_maxRate 25000
set sv_fps 20
set sv_timeout 60
set g_allowVote 1
set g_antilag 1
set scr_friendlyfire 0
set scr_killcam 1
set g_deadChat 1
set scr_tdm_timelimit 15
set scr_tdm_scorelimit 500
// vehicles are controlled per map, inside the rotation
set sv_mapRotation "gametype tdm map mp_arnhem allow_tanks 1 map mp_ponyri gametype dm map mp_berlin"
map_rotate
Like CoD1, the rcon cvar is rconpassword as one word, not rcon_password.
Vehicles in the rotation
UO added jeeps and tanks, and sv_mapRotation gained two tokens to control them per map:
set sv_mapRotation "gametype tdm map mp_ponyri allow_tanks 1 allow_jeeps 1 map mp_berlin allow_tanks 0"
The tokens apply to every map after them until changed. Details in the map rotation guide.
Gametypes
UO keeps the CoD1 set and adds three:
| Code | Gametype |
|---|---|
dm |
Deathmatch |
tdm |
Team Deathmatch |
sd |
Search and Destroy |
bel |
Behind Enemy Lines |
re |
Retrieval |
hq |
Headquarters |
ctf |
Capture the Flag |
dom |
Domination |
bas |
Base Assault |
Maps
UO ships 12 new maps plus mp_uo_* remakes of the CoD1 maps. Note the remakes have their
own codes: Carentan is mp_uo_carentan, not mp_carentan. Full list on the
United Offensive map list.
Getting listed
coduomaster.activision.com:20610 is the original master. As with the other classic
titles, do not rely on it alone; publish your IP and verify reachability directly:
printf '\xff\xff\xff\xffgetstatus' | nc -u -w2 YOUR.IP 28960 | head -c 400
