Install Garry's Mod Dedicated Server to a Linux Salt slave.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
srv/salt
LICENSE
README
run.sh

README

SteamCMD:n asennus ja Garry's Mod Dedicated Serverin asennus ja käyttöönotto.

Tehtävien toimeksianto: http://terokarvinen.com/2018/aikataulu-%e2%80%93-palvelinten-hallinta-ict4tn022-4-ti-5-ke-5-loppukevat-2018-5p

Tehtävissä käytetyt laitteet:
HP ProBook 655 G2: Xubuntu 16.04 LTS x64
Digital Ocean -palvelun ylläpitämä virtuaalipalvelin: 1 GB Memory / 25 GB Disk / AMS3 - Ubuntu 16.04.3 x64
Desktop: Intel i5-3570K @3.4GHz, Nvidia Geforce GTX 970, 16GB DDR3-RAM, Xubuntu 16.04 LTS x64 

Käyttöohje:
1. Lataa bash-scripti tietokoneellesi komennolla: wget https://raw.githubusercontent.com/a1702645/steamcmd-garrysmod/master/run.sh
2. Aja run.sh scripti komennolla: bash run.sh

Päätin asentaa SteamCMD:n (komentokehoteversio pelialusta Steamista), jolla taas asentaisin Garry's Mod Dedicated Serverin.
Valitettavasti en saanut SteamCMD:lle ohjatussa komennossa määriteltävää asennusta toimimaan käyttäjänimestä riippumatta. Ongelmana on sijainnin määrittäminen käyttäjän kotihakemistoon.

Aloitin työn luomalla tiedoston srv/salt/install_steamcmd/init.sls.

init.sls ajaa ensin komennon, joka mahdollistaa 32bittisten ohjelmien asennuksen.
SteamCMD:n asennuksen automatisoinnissa ongelmaksi muodostui lisenssin hyväksyminen, sillä Salt ei tee sitä itsekseen.
Ongelma on ratkaistavissa debconf ohjelmalla, mutta en saanut sitä silti toimimaan SteamCMD:n asennuksessa.
Ratkaisu löytyi automatisoimalla ensin ohjelman Steam asennus, sillä debconf-asetukset toimivat siinä. Steamin asennuttua ei SteamCMD enää kysy lisenssistä.
Saltin suorittaessa asennustilaa sanoo se virheellisesti, ettei SteamCMD:n asennus onnistunut. 

Seuraavaksi loin steamcmd/init.sls -tiedoston ja garrysmod_ds.txt tiedoston. steamcmd/init.sls kopioi garrysmod_ds.txt tiedoston polkuun ~/garrysmod_ds ja ajaa sen SteamCMD:ssä.
Garrysmod_ds -skripti suorittaa Garry's Mod Dedicated Serverin asennuksen SteamCMD:ssä. 

Loin myös top.sls -tiedoston, joka ajaa tilat install_steamcmd, steamcmd ja apache2.

SteamCMD ei jostain syystä suostu ajamaan garrysmod_ds -skriptiä Saltilla komennettaessa, mutta paikallisesti suostuu, joten jouduin luomaan ajamaan sen run.sh -skriptissä. 

Loin tiedoston run.sh, joka:
-Asentaa Gitin ja Salt-minionin
-Kloonaa tiedostot Githubista
-Ajaa ladatut tilat
-Ajaa SteamCMD:ssä skriptin "garrysmod_ds"
-Käynnistää pelipalvelimen komennolla "./srcds_run -game garrysmod -maxplayers 16 +gamemode sandbox +map gm_flatgrass"


Lähteet:
https://developer.valvesoftware.com/wiki/SteamCMD#Linux.2FOS_X
https://developer.valvesoftware.com/wiki/Dedicated_Servers_List
https://developer.valvesoftware.com/wiki/SteamCMD#32-bit_libraries_on_64-bit_Linux_systems
https://askubuntu.com/questions/506909/how-can-i-accept-the-lience-agreement-for-steam-prior-to-apt-get-install/1017487#1017487
http://terokarvinen.com/2016/publish-your-project-with-github