créé par Tanaka le 15/08/2015, modifié par Tanaka le 11/11/2015
Ce tutoriel est applicable au version 0.3.1.0 de l'Epoch Mod.
Vous remarquerez que, dans ce HowTo/Tutoriel, j'ai mis les commandes "bash" dans un beau cadre, ce qui vous permet de faire de violent copier-coller de la page web vers votre PuTTY préféré !
J'ai suivi scrupuleusement toutes les phases de ce HowTo, et, par miracle, le serveur ArmA 3 - Epoch a démarré direct. Après reste à choisir le bon serveur dédié pour supporter les connexions multiples des joueurs.
sudo apt-get install screen redis-server zip unzip (watchdog) (perl)
sudo apt-get install libhiredis-dev libstdc++6 g++-multilibPour les versions 64bits seulement :
sudo apt-get install lib32stdc++6 lib32gcc1
sudo apt-get update sudo apt-get upgrade
sudo useradd -m steam sudo passwd steam-> vous devrez alors saisir un Pass pour ce compte "steam", faites qu'il soit dur/compliqué...
su - steam
mkdir steamcmd cd steamcmd wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz (adresse au 15/08/2015) tar -xvzf steamcmd_linux.tar.gz
/home/steam/arma3Ce qui sera le plus simple, faut pas trop se fatiguer dès fois.
cd ~ echo -e '#!/bin/bash\n~/steamcmd/steamcmd.sh +login xxx yyy +force_install_dir /home/steam/arma3 +"app_update 233780" validate +quit' > ./a3update.sh chmod +x ./a3update.shScript à lancer dès qu'il est créé, ce qui téléchargera la dernière version d'ArmA 3. Puis à chaque fois que nécessaire pour faire les éventuelles update d'ArmA 3.
./a3update.sh
cd ~/steamcmd ./steamcmd.shOn bascule dans le "bash" SteamCMD :
login STEAM_USER STEAM_PASSWRD force_install_dir /home/steam/arma3/ app_update 233780 validate quit
cd ~/arma3 mkdir public cd public mkdir keys mkdir mpmissions mkdir userconfig mkdir mods mkdir serverconfig
cd ~/arma3/public touch start.sh chmod u+x start.sh
cd ~/arma3/public ln -s ~/arma3/arma3server arma3server ln -s ~/arma3/addons addons ln -s ~/arma3/battleye battleye ln -s ~/arma3/dta dta ln -s ~/arma3/libsteam_api.so libsteam_api.so ln -s ~/arma3/libsteam.so libsteam.so ln -s ~/arma3/libtier0_s.so libtier0_s.so ln -s ~/arma3/libvstdlib_s.so libvstdlib_s.so ln -s ~/arma3/steam_appid.txt steam_appid.txt ln -s ~/arma3/steamclient.so steamclient.so
cd ~/arma3/public ln -s ~/arma3/curator curator ln -s ~/arma3/kart kart ln -s ~/arma3/heli helil ln -s ~/arma3/mark mark
cd ~/arma3/public ln -s ~/arma3/keys/a3.bikey a3.bikey
cd ~/arma3/ ./arma3server -world=empty
rm -r ~/arma3/@epoch rm -r ~/arma3/@epochhive
cd ~ mkdir epoch_mod cd epoch_mod
wget http://rr.whocaresabout.de/epoch/Epoch_Client_0.3.1.0.zip unzip Epoch_Client_0.3.1.0.zip (dezippage) mv @Epoch/Keys/*.* ~/arma3/keys rm -r @Epoch/Keys/ mv @Epoch ~/arma3/Le répertoire @Epoch n'existe plus, pas besoin de l'effacer...
wget https://api.github.com/repos/EpochModTeam/Epoch/zipball/0.3.1.0 unzip 0.3.1.0 mv EpochModTeam-Epoch-b6d2434 epoch_server rm 0.3.1.0 rm -r epoch_server/Server_Install_Pack/DB/ rm -r epoch_server/Server_Install_Pack/BEC/ mv epoch_server/Server_Install_Pack/* ~/arma3/ cp -r epoch_server/Server_Install_Pack/* ~/arma3/ rm -r epoch_server
wget https://raw.githubusercontent.com/denisio/Dayz-Epoch-Linux-Server/master/tolower.c gcc -O -o tolower tolower.cComme il y a certains fichiers qui ne doivent pas être modifier (bizarre...). Le mieux est de créer un fichier executable "epoch_nettoyage.sh" dans le repertoire "arma3", avec les commandes suivantes :
#!/bin/bash
./tolower
mv libphysx3common_x86.so libPhysX3Common_x86.so
mv libphysx3cooking_x86.so libPhysX3Cooking_x86.so
mv libphysx3_x86.so libPhysX3_x86.so
Le rendre exécutable :
chmod +x ./epoch_nettoyage.shPuis, de le lancer :
./epoch_nettoyage.shPar ailleurs, les éventuelles mises à jour d'ArmA 3 par SteamCMD peuvent effacer tous les fichiers externes au programme "ArmA 3", voir l'alinéa "Sauvegarde" pour se protéger contre l'écrasement des données utiles
export LD_LIBRARY_PATH=.:$HOME/arma3:$HOME/arma3/@epochhive:$LD_LIBRARY_PATH; ldd ~/arma3/@epochhive/epochserver.so ldd ~/arma3/battleye/beserver.so ldd ~/arma3/arma3serverLa ligne "export" est importante pour le test, sans cela, il va y avoir plein d'erreurs. Normalement, il ne devrait pas y avoir de problème, si vous avez tout suivi :), sinon je vous dis pas le bordel...
cd ~/arma3/ ./epoch_linux_startscript.sh checkCe script va aller contrôler la présence de tous les répertoires et fichiers nécessaires au démarrage d'Epoch. Il ne contrôle pas si les variables dans les fichiers en question sont bonnes, mais, seulement, si les répertoires et fichiers sont bien au bon endroit.
Avant, il faut aller vérifier certaines variables avant de lancer le script, principalement les variables et ligne suivantes :
Après les autres variables, vous faites ce que vous voulez, ca dépend de l'organisation de votre serveur. Il faut surtout tout faire pour que rien ne soit en MISSING.mkdir -p ~/arma3/logs mkdir -p ~/arma3/logs/old mkdir -p ~/.local/share/Arma\ 3\ -\ Other\ Profiles/sc ln -s ~/arma3/sc/sc.arma3profile ~/.local/share/Arma\ 3\ -\ Other\ Profiles/sc/sc.Arma3Profile
vi ~/arma3/@epochhive/epochserver.inioù il faut changer les valeurs vers les bonnes données : BattlEyePath (le repertoire vers le programme Battleye : /home/steam/arma3/battleye), [EpochServer] IP (qui semble-t-il doit avoir l'adresse du serveur, plutot que celle en 127.0.0.1, [EpochServer] Port = PORT_XXXX, [EpochServer] Password (passwordAdmin du config.cfg), [Redis] Password = REDIS_PASS
vi ~/arma3/sc/config.cfgdans lequel il faut changer : hostname, password (celui qui sert à se connecter pour les joueurs, si nécessaire), passwordAdmin (celui qui sert aussi à RCON, epochserver.ini et beconfig.cfg), serverCommandPassword (pour les lignes de commandes), motd, maxPlayers, la class mission (pour changer la mission, attention aux différents mods nécessaire pour que ca tourne)
vi ~/arma3/@epochhive/epochah.hppPas encore trouver quoi modifier...
vi ~/arma3/sc/battleye/beconfig.cfgModifier RConPassword en mettant celui qui a été mis dans les autres fichiers
sudo vi /etc/redis/redis.confOù il faudra réaliser les opérations suivantes :
sudo service redis-server startPour l’arrêter, suffit de faire la même commande, mais en mettant "stop" à la place de "start". Le bon fonctionnement du serveur "redis" doit pouvoir se voir dans le fichier localisé à cette endroit : /var/log/redis/redis-server.log. S'il y a des messages d'erreurs dans le fichier de log, il faut trouver une reponse sur internet...
~/arma3/epoch_linux_startscript.sh start