Hallo meine lieben Natives,
ich sitz jetzt seit 1-2 Tagen an einer Commands History für einen Arma 3 Exile Server auf einem Linux Hostsystem. Leider komme ich aktuell nicht weiter voran bzw. weiß nicht was jetzt noch fehlt, bis zum ersten funktionalen Start. Eventuell haben wir hier ja noch 1-2 Geeks die sich das ganze mal angucken wollen und eventuell mir auf die Sprünge helfen können
Bitte nur beteiligen wenn du verstehst was die bisherigen Befehle so machen, da bisher nur das kleine Linux 1x1 genutzt wurde.
apt-get update && apt-get dist-upgrade -y
adduser arma3servers
usermod -G sudo arma3servers
su arma3servers
cd
mkdir .ssh
touch .ssh/authorized_keys
sudo nano /root/.ssh/authorized_keys
INPUT YOUR KEY
Port 22 -> 2212
#AuthorizedKeyFile .ssh/authorized_keys -> AuthorizedKeyFile .ssh/authorized_keys /home/arma3servers/authorized_keys
#PubkeyAuthentication yes -> PubkeyAuthentication yes
#PasswordAuthentication yes -> PasswordAuthentication no
sudo systemctl restart sshd
sudo apt-get install lib32gcc1 lib32stdc++6
cd
curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -
cp -R /home/arma3server/steamcmd /home/arma3server/Steam
rm -rf /home/arma3server/steamcmd*
cd Steam/
./steamcmd.sh
login YOUR_STEAM_ACCOUNT YOUR_STEAM_PASSWORD
Enter the Steam Guard Code, if your account is protected
quit
login YOUR_STEAM_ACCOUNT YOUR_STEAM_PASSWORD
force_install_dir /home/arma3server/A3Master
app_update 233780 validate
quit
#!/bin/bash
PATH=/bin:/usr/bin:/sbin:/usr/sbin
# Hier anpassen
#
DATE=$(date +%Y-%m-%d_%H-%M-%S);
LOGNAME="EXILE"
LOG="${DATE}_${LOGNAME}"
logPath=/home/arma3server/A3Files/log
serverConfigDir=/home/arma3server/A3Files/serverconfig
homePath=/home/arma3server/A3Master
missionPath=/home/arma3server/A3Files/mpmissions
EXILEPath=/home/arma3server/A3Files/@ExileServer/addons
safeMissionPath=/home/arma3server/A3Files/safe/mission
safeEXILEPath=/home/arma3server/A3Files/safe/ExileServer
safeConfigPath=/home/arma3server/A3Files/safe/config
uploadPath=/home/arma3server/A3Files/upload
networkConfig=$serverConfigDir/basic.cfg
serverConfig=$serverConfigDir/server.cfg
profileName=Exile-Profile
DIR=/home/arma3server/A3Files/Exile-Profile
servermods=@ExileServer\;
mods=@Exile\;
BE=$DIR/battleye
DAEMON=arma3server
NAME=arma3server
PARAMS="-cfg=$networkConfig -config=$serverConfig -name=$profileName -servermod=$servermods -mod=$mods -bepath=$BE -world=empty -port=2302 -noSound -loadMissionToMemory -enableHT -autoinit"
DESC="ArmA 3 Exile Server"
#
# Ab hier nichts mehr ändern
case "$1" in start)
echo "Starte: $DESC"
if [ -e $DIR ];
then
cd $DIR
./$DAEMON $PARAMS
else echo "Verzeichnis $DIR nicht gefunden!"
fi
;; startLoad)
echo "Wechsle Missionsdatei und starte: $DESC"
cd $missionPath
mv Exile.Altis.pbo $safeMissionPath
cd $safeMissionPath
mv Exile.Altis.pbo ${DATE}-Exile.Altis.pbo
cd $EXILEPath
mv exile_server.pbo $safeEXILEPath
cd $safeEXILEPath
mv exile_server.pbo ${DATE}-exile_server.pbo
cd $homePath
mv serverconfig $safeConfigPath
cd $safeConfigPath
mv serverconfig ${DATE}-serverconfig
cd $uploadPath
cp Exile.Altis.pbo $missionPath
cp exile_server.pbo $EXILEPath
cp -r serverconfig $homePath
if [ -e $DIR ];
then
cd $DIR
./$DAEMON $PARAMS >$logPath/${LOG}.rpt 2>&1
else echo "Verzeichnis $DIR nicht gefunden!"
fi
;; stop)
if [[ `pidof $NAME` > "0" ]]
then
echo -n "Stoppe: $DESC"
kill `pidof $NAME |awk -F . '{print $1}'|awk '{print $1}'`
echo " ... fertig."
else
echo "Kein $DESC gefunden"
fi
;; restart)
if [[ `pidof $NAME` > "0" ]]
then
echo -n "Stoppe: $DESC"
kill `pidof $NAME |awk -F . '{print $1}'|awk '{print $1}'`
echo " ... fertig."
else
echo "Kein $DESC gefunden"
fi
echo -n "Starte: $DESC"
cd $DIR
./$DAEMON $PARAMS
echo " ... fertig."
;; restartLoad)
if [[ `pidof $NAME` > "0" ]]
then
echo -n "Stoppe: $DESC"
kill `pidof $NAME |awk -F . '{print $1}'|awk '{print $1}'`
echo " ... fertig."
else
echo "Kein $DESC gefunden"
fi
echo -n "Wechsle Missionsdatei und starte: $DESC"
cd $missionPath
mv Exile.Altis.pbo $safeMissionPath
cd $safeMissionPath
mv Exile.Altis.pbo ${DATE}-Exile.Altis.pbo
cd $EXILEPath
mv exile_server.pbo $safeEXILEPath
cd $safeEXILEPath
mv exile_server.pbo ${DATE}-exile_server.pbo
cd $homePath
mv serverconfig $safeConfigPath
cd $safeConfigPath
mv serverconfig ${DATE}-serverconfig
cd $uploadPath
cp Exile.Altis.pbo $missionPath
cp exile_server.pbo $EXILEPath
cp -r serverconfig $homePath
cd $DIR
./$DAEMON $PARAMS >$logPath/${LOG}.rpt 2>&1
echo " ... fertig."
;; status)
if [[ `pidof $NAME` > "0" ]]
then
echo "$DESC ist ONLINE"
else
echo "$DESC ist OFFLINE"
fi
;; crash)
if [[ `pidof $NAME` > "0" ]]
then
echo "Server läuft"
else
echo "Server nicht gefunden, neustarten ..."
cd $DIR
./$DAEMON $PARAMS
fi
;; *)
echo "Benutzung: $0 {start|startLoad|stop|status|restart|restartLoad|crash}"
exit 1
;; esac
exit 0
Alles anzeigen
wget http://85.25.202.58/download-all-the-files/ExileServer-1.0.4a.zip
unzip ExileServer-1.0.4.zip
mv Arma\ 3\ Server/ Arma3Server
cd Arma3Server
mv tbbmalloc.dll ../../A3Master/tbbmalloc.dll
mv @ExileServer/ ../@ExileServer
mv mpmissions/ ../mpmissions
cd ..
mkdir serverconfig
mkdir safe
mkdir safe/mission
mkdir safe/ExileServer
mkdir safe/config
mkdir log
touch serverconfig/basic.cfg
touch serverconfig/server.cfg
cp -R /home/arma3server/A3Files/@ExileServer/basic.cfg serverconfig/basic.cfg
cp -R /home/arma3server/A3Files/@ExileServer/config.cfg serverconfig/server.cfg
nano serverconfig/server.cfg
Alles anzeigen
Change the following to your needs:
hostname
(Your server name that will be represented online)
password
(Use only if you wish to protectyour server)
passwordAdmin
(Used for admin functions ingame)
serverCommandPassword
(Used to access server settings)
maxPlayers
(Server player limit)
persistent
(Should be set to "1" for the use of autoinitin you server launch commands)
Change the "requiredBuild"
(With each Arma3 update you will need to adjust this)
To change maps, scroll down to "classMissions" and change between:
"template = Exile.Tanoa" (Only if you have Apex build installed)
"template = Exile.Altis" (DefaultExile Map)
Alles anzeigen
mkdir Exile-Profile
mkdir Exile-Profile/battleye
mkdir mods
cp -R Arma3Server/battleye/* Exile-Profile/battleye/
cp -R ../A3Master/battleye/* Exile-Profile/battleye/
mkdir upload
cd Arma3Server
rm -rf battleye
cp -R keys/* ../A3Master/keys/
rm -rf keys
rm -rf LICENSE.txt
cd ..
rm -rf Arma3Server
sudo apt-get install mariadb-server mariadb-client -y
sudo mysql_secure_installation
Alles anzeigen
Give a mysql root password and check all next questions with "yes"
sudo mysql -u root
mysql> source /home/arma3server/A3Files/MySQL/exile.sql
mysql> CREATE USER 'exile'@'localhost' IDENTIFIED BY 'YOUR_DATABASE_PASSWORD';
mysql> GRANT ALL privileges ON `exile`.* TO 'exile'@localhost;
mysql> FLUSH PRIVILEGES;
mysql> quit
;; Rcon Password i.e Battleye/beserver.cfg
Password = YOUR_RCON_PASSWORD
[Steam]
;; This is for VAC Protocol for VAC Bans + Steam Friends.
;; https://steamcommunity.com/dev/apikey
API Key = YOUR_STEAM_API_KEY
[exile]
Type = MySQL
Name = YOUR_DATABASE_NAME
Username = YOUR_DATABASE_USERNAME
Password =YOUR_DATABASE_PASSWORD
Alles anzeigen
// update_arma3.txt
//
@ShutdownOnFailedCommand 1 //set to 0 if updating multiple servers at once
@NoPromptForPassword 1
login YOUR_STEAM_ACCOUNT YOUR_STEAM_PASSWORD
force_install_dir /home/arma3server/A3Master
app_update 233780 validate
quit
Copy following files to your Desktop, extract with PBO Manager, edit, pack with PBO Manager and upload back to Server following files:
/home/arma3server/A3Master/@ExileServer/addons/exile_server_config.pbo
CONSTRUCTION:
permanentlyDeleteTime= 3
(Remove all deleted items from the database after X days)
territoryLifeTime= 7
(Days before unpaid territory is removed)
containerLifeTime = 10
(Days before territory containers are removed)
constructionLifeTime = 2
(Days beforeconstruction outside of territory gets removed. Workbench for exsample)
vehicleLifeTime = 3
(Days before unused vehicles are removed)
abandonedTime = 7
(Set safe as abandoned)
stolenFlagLifeTime= 3
(Deletes a base X days after the flag is stolen)
unlockLifeTime= 2
(pins to 0000 and marks safes to abandoned X days after the flag is stolen)
VEHICLES:
vehiclesGridSize = 2200
(Grid size for vehicles spawns)
vehiclesGridAmount = 2
(Amount of vehicles to spawn in each grid configured above)
vehiclesDebugmarkers= 0
(Creates global markers for debugging)
damageChance= 20%
(Chance for a vehicle HITPOINT to be damaged)
maximumDamage= 0.9
(Total amount of damage that can be applied whenspawninga vehicle)
nightVision= 1
(Enables or disables night vision optics on ALL vehicles)
thermalVision = 0
(Enables or disables thermal optics on ALL vehicles)
unlockInSafeZonesAfterRestarts = 0
(Set this to 1 to unlock vehicles on server boot if they are in safe zones)
SERVER SETTINGS:
serverPassword =*
(Use servercommandpassword set in point 4)
useAutoLock = 1
(Autolocks server until its ready to accept players)
restartAutoLock = 3
(Server will autoLock at that time before restart)
restartTimer[] = {3,0}
(Number of hours and minutes of your restart period)
useAutoKick = 1
(Kicks players before restart to prevent gear loss)
kickTime = 2
(Time before restart that server kicks players)
useRestartMessages = 0
(Notifies players of server restart)
restartWaringTime [] = {15, 10, 5, 3}
(Number of minutes before the restart to inform your players)
useShutdown=1
(Forces server to shut down and close completely)
Startup script provided in this guide will restart the server!!!!
Alles anzeigen