truncate history
This commit is contained in:
commit
3150bc4818
6 changed files with 286 additions and 0 deletions
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
server.cfg
|
12
Dockerfile
Normal file
12
Dockerfile
Normal file
|
@ -0,0 +1,12 @@
|
|||
FROM zombi/steam-base
|
||||
MAINTAINER MadMaurice <madmaurice@zom.bi>, Paul <paul@zom.bi>
|
||||
EXPOSE 2302-2305/udp
|
||||
|
||||
ADD bin/entrypoint.sh /entrypoint.sh
|
||||
ADD server.cfg /home/steam
|
||||
ADD player.armaProfile /home/steam
|
||||
RUN chmod +xr /entrypoint.sh
|
||||
USER steam
|
||||
|
||||
ENTRYPOINT ["/entrypoint.sh"]
|
||||
CMD ["-world=empty"]
|
22
README.md
Normal file
22
README.md
Normal file
|
@ -0,0 +1,22 @@
|
|||
## steam-arma3
|
||||
steam-arma3 is the base image for an ARMA3 Server.
|
||||
|
||||
### Data locations
|
||||
|
||||
### Building steam-arma3
|
||||
|
||||
first build the `steam-base` image.
|
||||
|
||||
```
|
||||
docker build -t zombi/steam-arma3 .
|
||||
```
|
||||
|
||||
### Running steam-arma3
|
||||
|
||||
```
|
||||
docker run -d \
|
||||
--name arma3 \
|
||||
-p 2302-2305:2302-2305/udp \
|
||||
-v /data/steam-games:/home/steam/games \
|
||||
zombi/steam-arma3
|
||||
```
|
71
bin/entrypoint.sh
Normal file
71
bin/entrypoint.sh
Normal file
|
@ -0,0 +1,71 @@
|
|||
#!/bin/bash
|
||||
|
||||
# what are we trying to install?
|
||||
game_nm=arma3
|
||||
game_id=233780
|
||||
|
||||
profile_location=~/.local/share/"Arma 3 - Other Profiles"/server
|
||||
profile_name=server.Arma3Profile
|
||||
|
||||
# install game to this directory
|
||||
installdir=/home/steam/games/$game_nm
|
||||
|
||||
# if path does not exist, create it
|
||||
mkdir -p $installdir
|
||||
|
||||
if [ "$1" == "update" -o ! -d "$installdir" ]; then
|
||||
install="1"
|
||||
else
|
||||
install="0"
|
||||
fi
|
||||
|
||||
if [ "$install" == "1" ] # should we start update or install?
|
||||
then
|
||||
if [ ! -w "$installdir" ]; then
|
||||
echo "Cannot write to installation dir."
|
||||
exit 1
|
||||
fi
|
||||
echo "---- Steam login"
|
||||
echo -n "Username:"
|
||||
read steam_user
|
||||
echo -n "Password:"
|
||||
read -s steam_password
|
||||
|
||||
# Install or update the game in /home/steam/games/[game name]
|
||||
/opt/steamcmd/steamcmd.sh \
|
||||
+login $steam_user $steam_password\
|
||||
+force_install_dir $installdir \
|
||||
+app_update $game_id -beta legacyPorts -betapassword Arma3LegacyPorts validate \
|
||||
+quit
|
||||
|
||||
exit 0
|
||||
else
|
||||
# install dir maybe mounted read-only, simply
|
||||
# skip installing/updating and inform the user.
|
||||
echo "Skipped game installation."
|
||||
fi
|
||||
|
||||
# run the next commands from the installdir
|
||||
cd $installdir
|
||||
|
||||
if [ ! -f "./server.cfg" ]; then
|
||||
echo "missing server.cfg, copying default one"
|
||||
cp /home/steam/server.cfg .
|
||||
fi
|
||||
|
||||
if [ ! -f "${profile_location}/${profile_name}" ]; then
|
||||
echo "missing ${profile_name}, copying default one"
|
||||
mkdir -p "${profile_location}"
|
||||
cp /home/steam/player.armaProfile "${profile_location}/${profile_name}"
|
||||
fi
|
||||
|
||||
# is the game launcher not executable?
|
||||
if [ ! -x ./arma3server ]
|
||||
then
|
||||
# we cant run the game then.
|
||||
echo "game launcher not found, installed incorrectly?"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# launch the game!
|
||||
exec ./arma3server -config=server.cfg -mod="mods/@nss_ac" -name=server "$@"
|
168
player.armaProfile
Normal file
168
player.armaProfile
Normal file
|
@ -0,0 +1,168 @@
|
|||
version=1;
|
||||
blood=1;
|
||||
singleVoice=0;
|
||||
gamma=1;
|
||||
brightness=1;
|
||||
class Difficulties
|
||||
{
|
||||
class recruit
|
||||
{
|
||||
class Options
|
||||
{
|
||||
groupIndicators=0;
|
||||
friendlyTags=0;
|
||||
enemyTags=0;
|
||||
detectedMines=0;
|
||||
commands=0;
|
||||
waypoints=0;
|
||||
weaponInfo=2;
|
||||
stanceIndicator=2;
|
||||
reducedDamage=0;
|
||||
staminaBar=1;
|
||||
weaponCrosshair=0;
|
||||
visionAid=0;
|
||||
thirdPersonView=0;
|
||||
cameraShake=1;
|
||||
scoreTable=0;
|
||||
deathMessages=0;
|
||||
vonID=1;
|
||||
mapContent=0;
|
||||
autoReport=0;
|
||||
multipleSaves=1;
|
||||
};
|
||||
aiLevelPreset=2;
|
||||
skillAI=0.5;
|
||||
precisionAI=0.69999999;
|
||||
};
|
||||
class regular
|
||||
{
|
||||
class Flags
|
||||
{
|
||||
Armor=0;
|
||||
FriendlyTag=0;
|
||||
EnemyTag=0;
|
||||
MineTag=0;
|
||||
HUD=0;
|
||||
HUDPerm=0;
|
||||
HUDWp=0;
|
||||
HUDWpPerm=0;
|
||||
HUDGroupInfo=0;
|
||||
StanceIndicator=1;
|
||||
AutoSpot=0;
|
||||
Map=0;
|
||||
WeaponCursor=0;
|
||||
AutoGuideAT=1;
|
||||
ClockIndicator=0;
|
||||
3rdPersonView=0;
|
||||
CameraShake=1;
|
||||
UnlimitedSaves=1;
|
||||
DeathMessages=0;
|
||||
NetStats=1;
|
||||
VonID=1;
|
||||
ExtendetInfoType=1;
|
||||
StaminaBar=1;
|
||||
};
|
||||
aiLevelPreset=3;
|
||||
skillAI=0.60000002;
|
||||
precisionAI=0.40000001;
|
||||
};
|
||||
class veteran
|
||||
{
|
||||
class Flags
|
||||
{
|
||||
HUD=0;
|
||||
HUDWp=0;
|
||||
HUDWpPerm=0;
|
||||
HUDGroupInfo=0;
|
||||
StanceIndicator=1;
|
||||
AutoSpot=0;
|
||||
WeaponCursor=0;
|
||||
ClockIndicator=0;
|
||||
3rdPersonView=0;
|
||||
CameraShake=1;
|
||||
DeathMessages=0;
|
||||
NetStats=0;
|
||||
VonID=1;
|
||||
ExtendetInfoType=0;
|
||||
StaminaBar=1;
|
||||
};
|
||||
aiLevelPreset=3;
|
||||
skillAI=0.30000001;
|
||||
precisionAI=0.69999999;
|
||||
};
|
||||
class mercenary
|
||||
{
|
||||
class Flags
|
||||
{
|
||||
HUD=0;
|
||||
AutoSpot=0;
|
||||
WeaponCursor=0;
|
||||
DeathMessages=0;
|
||||
NetStats=0;
|
||||
VonID=1;
|
||||
};
|
||||
aiLevelPreset=3;
|
||||
skillAI=0.60000002;
|
||||
precisionAI=0.40000001;
|
||||
};
|
||||
};
|
||||
maxSamplesPlayed=96;
|
||||
activeKeys[]=
|
||||
{
|
||||
"BIS_ACE3.Takistan_done",
|
||||
"BIS_ACE3_Base.Altis_done",
|
||||
"BIS_ACE3_Base.Takistan_done",
|
||||
"BIS_ACE3_Base.Zargabad_done",
|
||||
"BIS_AFRF.Chernarus_done",
|
||||
"BIS_ACE3_Base.Stratis_done",
|
||||
"BIS_USAF.Chernarus_done"
|
||||
};
|
||||
difficulty = "Custom";
|
||||
class DifficultyPresets
|
||||
{
|
||||
class CustomDifficulty
|
||||
{
|
||||
class Options
|
||||
{
|
||||
groupIndicators=0;
|
||||
friendlyTags=0;
|
||||
enemyTags=0;
|
||||
detectedMines=0;
|
||||
commands=0;
|
||||
waypoints=0;
|
||||
weaponInfo=1;
|
||||
stanceIndicator=1;
|
||||
reducedDamage=0;
|
||||
staminaBar=0;
|
||||
weaponCrosshair=0;
|
||||
visionAid=0;
|
||||
thirdPersonView=0;
|
||||
cameraShake=1;
|
||||
scoreTable=0;
|
||||
deathMessages=0;
|
||||
vonID=1;
|
||||
mapContent=0;
|
||||
autoReport=0;
|
||||
multipleSaves=1;
|
||||
};
|
||||
aiLevelPreset=3;
|
||||
skillAI=0.5;
|
||||
precisionAI=0.7;
|
||||
};
|
||||
class CustomAILevel
|
||||
{
|
||||
skillAI=0.5;
|
||||
precisionAI=0.7;
|
||||
};
|
||||
};
|
||||
headBob=0;
|
||||
sceneComplexity=1000000;
|
||||
shadowZDistance=100;
|
||||
viewDistance=3800;
|
||||
preferredObjectViewDistance=3200;
|
||||
terrainGrid=3.125;
|
||||
volumeCD=10;
|
||||
volumeFX=10;
|
||||
volumeSpeech=10;
|
||||
volumeVoN=10;
|
||||
vonRecThreshold=0.029999999;
|
12
server.cfg.example
Normal file
12
server.cfg.example
Normal file
|
@ -0,0 +1,12 @@
|
|||
hostname="Community Server";
|
||||
passwordAdmin = "password";
|
||||
maxPlayers = 20;
|
||||
motd[] = {"Welcome to the ARMA3 Server","Please enjoy your stay!"};
|
||||
|
||||
kickDuplicate = 1;
|
||||
voteMissionPlayers = 1;
|
||||
voteThreshold = 0.33;
|
||||
|
||||
|
||||
onUnsignedData = "kick (_this select 0)";
|
||||
onHackedData = "kick (_this select 0)";
|
Loading…
Reference in a new issue