Minimum requirements:
- 64 bit Debian-based Linux system
- 150 * # of servers MB of RAM
- 1.5 GB of free storage
Renting a VPS (If you have your linux system ready, feel free skip ahead to the next section)
Options:
- https://www.vultr.com/ < cheap and good quality
- https://aws.amazon.com/
- https://azure.microsoft.com/en-us/
- https://www.digitalocean.com/
- https://www.linode.com/
I will show the steps for vultr, as it is the easiest to set up.
- Sign up
- Click on the big '+' sign or find "Deploy New Server"
- Choose "Cloud Compute"
- Choose desired location
- Choose 64 Bit Ubuntu (latest version)
- Choose the $5/mo option (1 CPU 1 Mb RAM). (Billed per hour of usage)
- Click on "Deploy Now". Wait for server to finish installing
- Once finished, click on the instance to see the details. You will see ip, username, and password.
- From a Powershell window (should be installed in your windows already) or command line, execute the following command:
ssh root@ipofyourinstance- Enter the password, proceed to next section.
Deploying the servers
- In your linux system, execute the following lines
git clone https://github.com/JBustos22/dfsv.gitcd dfsvsudo ./install.sh./launch.sh
- Follow the instructions on the command line
- Run docker ps -a to see the running servers if you chose to start them
- Connect to
your instance's ip:portthrough a defrag client
Customization
- ssh into your instance
- run
cd ~/dfsv - run
nano sv.conf
- To set a permanent hostname, rcon, admin, and location, fill in the information in the first block
- To make your server private, modify the "Server privacy" block. Set SV_PRIVATE to 1 and replace the default password to the desired one
- To control how many and what types of servers to deploy, modify the "Server counts" block. (e.g mixed_count=3 for 3 mixed servers, so on.)
- To modify the suffixes (- mixed 1, mixed 2, teamruns 1, etc.) Modify the "Server suffixes" block.
- Once ready, press Ctrl + x
- Type 'y', then press 'Enter'
- rerun
./launch.shand to apply changes - run
docker ps -ato see your deployed servers and their ports
Uploading maps
After following the previous steps, you will have all current maps on ws.q3df.org available on your server. However, if you'd like to upload custom maps or maps not present in world spawn, continue
From your local PC:
- from the machine that contains the desired map, run (from a powershell window or command line):
scp path/to/your/map root@ipofyourinstance:/root/dfsv/maps/
- Enter your instance's password.
- Restart your server from the game by callvoting the current map.
- Callvote your map
From the instance OS:
- run
cd ~/dfsv/maps - run
wget link-to-map - Restart your server from the game by callvoting the current map.
- Callvote your map
Quickly migrating to a new location while keeping settings
- Once you have all your desired settings, you can create a snapshot for free (at the time of this writeup) on vultr.
- Click on the instance with all your settings
- Go to the 'snapshots' tab
- Create snapshot, enter whatever name suitable.
- Re-do the deployment steps from the beginning of this readme, this type choosing "Snapshot" instead of "64 Bit OS"
- Choose the snapshot with the name you chose in step 4.
- Deploy. Once done installing, everything will be up but in your new location. Try connecting via defrag.
- Destroy unused instances to avoid unecessary billing.