Search the Community

Showing results for tags 'startscript'.

More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • Exile
    • Changelogs
    • Feedback
  • Exile Community
    • General Discussion
    • New Feature Voting
    • Problems & Bugs
    • Cat Walk
    • Recruitment
    • Small Talk
  • Exile Mod XM8 App
    • XM8 Server Administration
    • XM8 Android App
    • XM8 Discord Bot
  • Exile Mod Server Administration
    • Ask a Game Server Provider
    • Hosting
    • Operating Systems
    • Installation
    • Database
    • Security
    • Maintenance
  • Exile Mod Customization
    • Downloads & Releases
    • Content
    • Environment
    • Gameplay
    • Look & Feel
    • Tech Talk
  • Exile Life Mod
    • Visit forum on


  • Knowledge Base
  • Items
  • Constructions
  • Traders
  • Vehicles

Find results in...

Find results that contain...

Date Created

  • Start


Last Updated

  • Start


Filter by number of...


  • Start




Found 1 result

  1. snorp

    Tutorial - Linux Server

    Hallo guys, This article was written by me in German. I have decided to translate it into English now. You are welcome to correct me! Feel free to criticize me, too! ARMA III Linux Installation Guide After a Linux distribution has been installed, in this case Debian 8 (8.9), we create a user responsible for the ARMA server and its administration. adduser steam ARMA III and SteamCMD need some libraries to install. sudo apt-get install lib32stdc++6 sudo apt-get install lib32gcc1 Furthermore, we need a SQL Server, unzip and nano the text editor. We install it with the following command. Important: When creating the sql server, make sure that you enter your data correctly, because password etc., you will have to save it in your config file later! apt-get update apt-get upgrade apt-get install software-properties-common apt-key adv --recv-keys --keyserver 0xcbcb082a1bb943db add-apt-repository 'deb [arch=amd64,i386,ppc64el] jessie main' apt-get update apt-get install mariadb-server apt-get install unzip apt-get install zip apt-get install nano We log in with the created user and add a folder that we enter directly. sudo -i -u steam From the Valve Developer Community page we download the current SteamCMD and run it after unpacking the package. wget tar xf steamcmd_linux.tar.gz ./ It is recommended to create an extra Steam account for hosting dedicated servers. We log in with the account in the SteamCMD and start the download of ARMA III. login username force_install_dir ./arma3/ app_update 233780 exit EXILE Mod installation To use the Exile Mod for our ARMA III server we will download the server data from the official exilemod. com site (version may vary). Go to the arma3 folder and save the zip data in an extra folder. cd arma3 mkdir data cd data wget wget unzip \ unzip \ After unpacking the data, we move all relevant data. mv @Exile ../ cd Arma\ 3\ Server/ mv LICENSE.txt ../../ mv tbbmalloc.dll ../../ mv @ExileServer/ ../../ mv battleye/* ../../battleye/ mv keys/* ../../keys/ mv mpmissions/* ../../mpmissions/ cd .. rm -r Arma\ 3\ Server/ We build the database by executing the following command and feeding it with the exile. sql file. mysql -u root -p create database if not exists exile; GRANT ALL ON exile.* TO 'exile'@localhost IDENTIFIED BY 'password'; flush privileges; source /home/steam/arma3/data/MySQL/exile.sql quit An important step is configuring the config files. Here you should adjust the server name, password etc. For example, the map to be played can be changed in config. cfg (template = Exile. Malden). Access to the database must also be guaranteed. For this reason we edit the extdb-conf. ini and insert the access data from our created database. cd ~/arma3/@ExileServer nano config.cfg nano extdb-conf.ini Fault analysis As now, check whether the extDB works with the following command. ldd If there is "not found" after a line, we will execute the following as root. dpkg --add-architecture i386 apt-get update apt-get install libc6 tmux lib32gcc1 lib32gcc1 lib32stdc++6 libtbb2:i386 To start the server we go to the folder where the arma3server file is located and execute this command. ./arma3server -cfg=@ExileServer/basic.cfg -config=@ExileServer/config.cfg -autoinit -mod=@Exile\; -servermod=@ExileServer\; >> serverlog.rpt -autoinit Starts the mission, including all related tasks, otherwise this is only done after the first connection by a client to the server. >> serverlog.rpt Creates the "serverlog.rpt" log file in our server directory. Bambi Creation Timeout If the problem arises that players cannot join the server because "Bambi" cannot be loaded correctly, the mysqld. cnf file must be edited as root. sudo nano /etc/mysql/my.cnf Adds the following line after [mysqld]. sql-mode="ERROR_FOR_DIVISION_BY_ZERO,NO_ZERO_DATE,NO_ZERO_IN_DATE,NO_AUTO_CREATE_USER" Restarts the service to make the changes effective. service mysql restart Modify Exile Mod coming soon... Server AdminToolkit To manage the inGame server I decided to use a free variant. I use the AdminToolkit von Ole from Ole which works really well. First we load the data from GitHub and unpack the @AdminToolServer folder into our server directory. cd ~/arma3/data wget unzip cd a3-admintoolkit-master mv @AdminToolkitServer ../../ Afterwards we move the key file. mv admintoolkit.bikey ../../keys/ We unpack the admintoolkit_servercfg. pbo archive and add the admin's UID?s to the config. cpp (this can be found in the Arma 3 menu > Profile). Moderators can also be added to this file. After we have saved the file again we pack the data back to a. pbo archive. Next we need to customize our Missions. pbo file. We unpack them and open the description. ext file. There we add behind class ExileServer_system_network_dispatchIncomingMessage { allowedTargets = 2; }; the following class AdminToolkit_network_receiveRequest { allowedTargets = 2; }; We stay in our missions directory and open the config. cpp there we search for the line class CfgExileCustomCode and add the following before the above line. class CfgAdminToolkitCustomMod { /* Exclude some main menu items * To only show the menus loaded from an extension, use: * * ExcludeMenu[] = {"Players", "Vehicles", "Weapons" , "Other"}; */ ExcludeMenu[] = {}; Extensions[] = { {"Exile Mod","ExileMod"} }; /* 4 Quick buttons allowing to add any action you want - See example below*/ QuickButtons[] = { /* send a chat message to selected player containing 'Test 123' */ {"Chat", "['message', [AdminToolkit_Player, 'Test 123']] call AdminToolkit_doAction"}, /* send a message to everyone using the parameters text field */ {"Msg To All", "['messageall', AdminToolkit_Params] call AdminToolkit_doAction"}, /* Quickly get a Helicopter */ {"Heli", "['getvehicle', 'B_Heli_Light_01_armed_F'] call AdminToolkit_doAction"}, }; }; Last but not least, we copy the atk folder from the @MissionsFile folder, which we downloaded, into our missions folder on our server and put it back into the. pbo archive. Now all we have to do is adjust the start parameter. ./arma3server -cfg=@ExileServer/basic.cfg -config=@ExileServer/config.cfg -autoinit -mod=@Exile\; -servermod=@ExileServer\;@AdminToolkitServer\; >> serverlog.rpt ExileZ Mod + Ryan Zombies & Demons First of all we download all important data, starting with the ExileZ Mod and then the Zombie Mod. To do this, we go back to our data folder by packing all relevant data for Exile. Please make sure that you check the links I posted here again! I put the Zombies & Demons Zip file on my private server, because I don't get a direct link via google drive. cd ~/arma3/data wget wget As usual we unpack both archives with unzip (master. zip. 1, because there is already a master. zip in our data folder). unzip unzip We receive two folders, the ExileZ-Mod-master and the ZombiesDemonsV5.0 folder, which we will now go into in more detail. This contains another folder @Ryanzombies which we move into our arma3 directory. mv @Ryanzombies ../ Now it is important that we copy the key located in the @Ryanzombies folder. cd ../@Ryanzombies/Keys cp RyanD.bikey ../../keys Unfortunately, I noticed that there were problems starting the server. I have received an error message that may indicate that the directories in the @Ryanzombies folder are not all written in lower case. For this reason, we have to provide all folders with lowercase letters. To do this, we go back to our basic directory. cd ~/arma3 mv @Ryanzombies @ryanzombies cd @ryanzombies mv Addons addons mv Keys keys After that we can check the @ryanzombies folder and now we are working on the ExileZ Mod. This mod is sent with an exilez_mod. pbo file. We can unpack these to change some values, like spawning the zombies etc. (more about this later). For simplicity's sake, we take the finished exilez_mod. pbo directly and add it to our @ExileServer Addons folder. cd ../data/ExileZ-Mod-master/ mv exilez_mod.pbo ../../@ExileServer/addons Now we have to adjust the mission file. To do this, we go to the arma3 folder in the mpmissions folder and unpack the. pbo archive, which we have on the server. We add ryanzombies and ryanzombiesfunctions to the missions. sqm file, so it should look like this. addOns[]= { "exile_client", "a3_map_altis", "ryanzombies", "ryanzombiesfunctions" }; After this is done we pack all the data back into a. pbo archive and put it in our mpmissions folder, which is located directly in the arma3 directory. Finally, we adjust the start parameter by adding @Ryanzombies;. The whole thing looks like this. ./arma3server -cfg=@ExileServer/basic.cfg -config=@ExileServer/config.cfg -autoinit -mod=@Exile\; -servermod=@ExileServer\;@AdminToolkitServer\;@ryanzombies\; >> serverlog.rpt Konfiguration Exilez Mod Theoretically, the configuration files are self-explanatory, as they have been well commented. But let's start with the first one, which data is relevant for us. First we should unpack the exilez_mod. pbo file and open the config. sqf. I won't explain every setting in this step, because that would go beyond the tutorial. That is why I would like to make the most important points. These two settings represent the maximum number of zombies to be created on the server and the fraction that each zombie receives. For example, if we place the Zombies' faction on West, they don't attack us anymore and run directly to a pre-defined point without paying attention to us. EZM_MaxZombies = 100 EZM_ZombieSide = EAST Furthermore, I deactivated the demons and the exploding zombies. EZM_ryanzombieshealthdemon = -1; EZM_ExplosiveZombies = false; The option of throwing is a bit too much and in my opinion it seems to be "robust" (which it is not). For this reason, the following settings. EZM_ryanzombiescanthrow = -1; EZM_ryanzombiescanthrowtank = -1; Horde building and spawning settings around the player have all been left on default. I think it's also a question of taste and server performance. If there is a real need for further explanation, you are welcome to comment on it here. Restart/Backup Script After the server shuts down by the integrated RCON commands, it has to be restarted properly. I have created a small shell script which is called up every 3h via crontab. The script itself looks like this. ################################################################################# # NAME: BACKSTART SCRIPT # AUTHOR: SNORP (THUNDERFIRE.NET) # VERSION: 1.3 # DATE: 2017/09/14 ################################################################################# # # VARIABLE # BACKUP_DIR=/home/steam/backup CURRENT_HOUR=$(date +"%H") CURRENT_DATE=$(date +"%F_%H") SERVER_PROCESS=$(ps axf | grep arma3server | grep -v grep) # CHECK SERVER IS RUNNING while [ ! -z "$SERVER_PROCESS" ]; do sleep 5 echo "The server is still running!" SERVER_PROCESS=$(ps axf | grep arma3server | grep -v grep) done echo "The server is offline, the script is now started." # CHECK THE TIME FOR A BACKUP if [ "$CURRENT_HOUR" -eq 10 ] || [ "$CURRENT_HOUR" -eq 22 ]; then # ITS TIME FOR A BACKUP echo "A backup is created." mysqldump --user=exile --password=PASSWORDHERE exile > $BACKUP_DIR/db_$CURRENT_DATE.sql zip -r $BACKUP_DIR/bu_$ /home/steam/arma3/battleye /home/steam/arma3/@AdminToolkitServer /home/steam/arma3/@ExileServer /home/steam/arma3/@ryanzombies /home/steam/arma3/mpmissions #BACKUP COMPLETE NOW RESTART THE SERVER screen -S A3Server -X stuff './arma3server -cfg=@ExileServer/basic.cfg -config=@ExileServer/config.cfg -autoinit -mod=@Exile\; -servermod=@ExileServer\;@AdminToolkitServer\;@ryanzombies\;>> serverlog.rpt\n' echo "Backup was created successfully, the server is now restarted." else # ITS NOT TIME FOR A BACKUP JUST RESTART echo "No backup is performed. The server is restarted." screen -S A3Server -X stuff './arma3server -cfg=@ExileServer/basic.cfg -config=@ExileServer/config.cfg -autoinit -mod=@Exile\; -servermod=@ExileServer\;@AdminToolkitServer\;@ryanzombies\; >> serverlog.rpt\n' fi There are certainly even better and more elegant methods than these! For this reason I ask the community to help me customize this script. It is important to insert the SQL password! SECURITY RISKO! otherwise the backup function will not work. In addition, the backup will be executed at 10.00 and 22.00 hours, these values can be changed as desired. An automatic cleaning after one week, for example, has to be added, of course, but I haven't yet been able to do that. To execute the script every 3h we create a crontab with the following command and select 2. /bin/nano. crontab -e 0 0,3,6,9,12,15,18,21 * * * /home/steam/ Of course, the time of the server should be adjusted with that of the crontab. I decided on the runtime of 2:59h. For the topic Arma 3 / Exile configuration I will add the tutorial a little later.