Call of Duty 4: Modern Warfare dedicated server. Uses CoD4x server mod. Based off hberntsen/docker-cod4 with a number of enhancements.
But since the file is already at your main folder, please use the ORIGINAL file that I provide, don't touch a thing there, put inside that same folder and execute. If the mod is already at the path COD5/mods/Frontlines as supposed to be, will load the server after run that batch file. You can use the copydedicated.bat file to create a folder with all the files needed to run a dedicated server. The files themselves are independent of the game. You don't need to own BO3 or have steam running to run a unranked dedicated server.
- Clone this repository.
- Build the docker image, e.g.
docker build -t matracey/modern-warfare
- Copy the resource files from the
main/
andzone/
directories to a directory of your choice on your Docker host.- You can omit the
main/video
directory as this is not needed by the server. - I use
/var/cod4/res
, and within there I havemain
,zone
,usermaps
andmods
.
- You can omit the
- Run your server!
- I use this command to start my server:
- Connect to your server!
Notes on building your run command
-it
: This runs the docker container in interactive, pseudo-tty mode. You'll need this to be able to type into the CoD console.- You could also use
-dit
here instead, which would start the container detached. You can attach later by runningdocker attach <container>
. - To restart a stopped container, use the command
docker start -ai <container>
. This will automatically and interactively attach to the container on start.
- You could also use
-p 28960:28960 -p 28960:28960/udp
: This forwards TCP & UDP ports 28960 (the default CoD Server Port) to the docker host. I haven't needed any other ports exposed but YMMV.-v /var/cod4/res/main:/home/cod4/main
: Mounts themain
folder in my Docker host's filesystem to themain
folder within the container's filesystem. I copied the contents of this from the CoD4:MW installation on my PC.-v /var/cod4/res/main:/home/cod4/zone
: Mounts thezone
folder in my Docker host's filesystem to thezone
folder within the container's filesystem. I copied the contents of this from the CoD4:MW installation on my PC.-v /var/cod4/res/mods:/home/cod4/mods
: Mounts themods
folder in my Docker host's filesystem to themods
folder within the container's filesystem. I keep any mods I want to install on the server in here.-v /var/cod4/res/usermaps:/home/cod4/usermaps
: Mounts theusermaps
folder in my Docker host's filesystem to theusermaps
folder within the container's filesystem. I keep my custom maps in here.-v /var/cod4/server.cfg:/home/cod4/main/server.cfg
: Mounts theserver.cfg
file within themain
folder within the container's filesystem.- NB: This file needs to exist on your host machine before you run the server or Docker will create this as a directory.
-v /var/cod4/games_mp.log:/home/cod4/main/games_mp.log
: Mounts thegames_mp.log
file within themain
folder within the container's filesystem. Log file for the server.- NB: This file needs to exist on your host machine before you run the server or Docker will create this as a directory.
matracey/world-at-war +set sv_authorizemode '-1' +exec server.cfg +map_rotate
: You can pass custom arguments to the server here. These are the args that are passed by default.
Call Of Duty Console Execute File .cfg File Main Exec Access
I've also included a sample server.cfg
file in this repository. It's not part of the build, but it should help you to build out your own config.