A collection of notes I've made as part of setting up an Azure and AWS VMs to host games servers. I've tried with both OpenSuse 13.2 and Amazon Linux.
Before getting started I grabbed the man
package sudo zypper install man
. Because I want me some manuals and apropos and what not.
Update manual database: sudo mandb
. Now I can apropos manuals, which while not strictly needed is certainly helpful for noodling around.
I also grab all my security updates and all the other housekeeping stuff which is a good idea to do, which I use a combination of yast
(command line interface) and zypper
to do.
I also grab tmux sudo zypper install tmux
(OpenSuse)/sudo yum install tmux
, as it helps with coordinating different running servers.
Depending on the VM I may have a game user by default, but I want to set up an explicit steam on for SteamCMD.
In yast add a new user "steam", set a password (whatevr - I'm about to disable it anyway), and disable user login.
Add a new user via sudo adduser steam
.
After doing that I use sudo passwd -l steam
to lock that accounts password. This means that you can't log into this account with a password. The only realistic way you can get to this account at this point is sudo su -l steam
(the -i does:Provide an environment similar to what the user would expect had the user logged in directly., which means we don't leak any user state to that account).
64 bit Open Suse required me to install the following: libstdc++6-32bit
, which brought in all the required deps for SteamCMD.
Amazon linux required me to bring in libstdc++44.i686
(sudo yum install libstdc++44.i686
), which was all the deps needed for SteamCmd.
This page has up to date details with how to grab SteamCMD.
To summarize (all as the steam user):
- Grab SteamCMD:
mkdir ~/steamcmd
,cd ~/steamcmd
,wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
- Extract:
tar -xvzf steamcmd_linux.tar.gz
- Run that sucker:
./steamcmd.sh
The procedure is similar for various games. Some games will require that you're logging in as a user that owns the game, others will allow anonymous access.
Some examples follow.
You need to be logged in with an account that owns Terraria
- Set the directory to install to:
force_install_dir ./terraria/
- Install with
app_update 105600
Once that's done, then you're good to go, there's a TerrariaServer
file in the installation directory to start up the server