Deploy First Person Shooter Dedicated Server for use with a number of games
- Counter Strike 1.6
- Counter Strike Condition Zero
- Counter Strike Global Offensive
- Pavlov Shack (Quest 2 version)
- Pre-requisites
- help
- installation
- Destroy Instance
- Manage Instance
- Connect to instance
- Troubleshooting
- Known Issues
Following instructions are for deploying from an Ubuntu Instance.
- Ansible is installed
sudo apt-get install ansible
- You are authenticated with AWS and have credentials in ~/.aws/credentials
- You have installed awscli
sudo apt-get install awscli
- You have upgraded awscli
pip install --upgrade awscli --user
- You have generated a key-pair called
fps_dedicated_rsa
and have imported it to AWS ascstrike
ssh-keygen -f ~/.ssh/fps_dedicated_rsa -t rsa -b 4096 chmod 600 ~/.ssh/fps_dedicated_rsa # cat fps_dedicated_rsa.pub to get the string required for the public-key-material aws ec2 import-key-pair --key-name fps_dedicated_rsa --public-key-material "ssh-rsa XXXXHXHHXHX youruser@yourdomain.com"
Run deploy_fps_server.sh
specifying the help command
[-h]
-d Deploy Infrastructure
-y Destroy Infrastructure
-c Install Counter Strike 1.6 Server
-z Install Counter Strike Condition Zero Server
-g Install Counter Strike Global Offensive Server
-s Install Pavlov Shack Server
[-a] Specify API_KEY value for CSGO
[-r] Specify RCON_PASSWORD value
[-p] Specify SV_PASSWORD value
[-n] Specify HOSTNAME value
The following is a number of examples for installing dedicated servers
Run deploy_fps_server.sh
specifying the deploy command
./deploy_fps_server.sh -d
Alternatively you could run the Makefile directly
make apply
Run deploy_fps_server.sh
specifying the install command
./deploy_fps_server.sh -c -r <rcon_password>
Run deploy_fps_server.sh
specifying the install command
./deploy_fps_server.sh -z -r <rcon_password>
Run deploy_fps_server.sh
specifying the install command
./deploy_fps_server.sh -g -a <api_key>
To Run CSGO you need to generate an api key to tie your server with your steam account.
https://steamcommunity.com/dev/managegameservers
use code 730 for CSGO
run deploy_fps_server.sh
specifying the install command
./deploy_fps_server.sh -s
Update text file in ansible/roles/pavlov_post_installation/files/maps.txt The file should contain a flat list of urls to maps
cat maps.txt
http://download2265.mediafire.com/1l2pt6sqfftg/3ld3pzs0mwfhdrj/SVR_john_nuketown.zip
http://download662.mediafire.com/yq2dzb9iu6jg/qur1yb4obfusfq2/SVR_john_mcdonalds.zip
run deploy_fps_server.sh
specifying install command with password and hostname
./deploy_fps_server.sh -z -r <rcon_password> -p <sv_password> -n <hostname>
Output of deploy_fps_server.sh
will give the console command to run in counter-strike to run to access the server.
connect <SERVER_IP>
Run deploy_fps_server.sh
specifying the destroy command
./deploy_fps_server.sh -y
Recommended screen is used to manage running terminal instance.
## ssh to instance
ssh -i <ssh_key> ubuntu@<ip_address>
## start csgo server
## screen session recommended
/home/ubuntu/start_csgo.sh
Ansible is having issues installing CSGO...
It exits when steam is attempting to get "user info" performing the operation manually does work.
There are issues with the installation of components from time to time This can happen with steam itself or with the installation/upgrade of a dedicated server
The deploy_fps_server.sh
can be run as many times as required until the desired effect is obtained.
# log onto instance
ssh -i <ssh_key> ubuntu@<ip_address>
# run command to install CSGO
steamcmd +login anonymous +force_install_dir "./cs/" +app_update 740 validate +quit
# fill in start_csgo.j2 template and save it in /home/ubuntu as start_csgo.sh