mirror of
https://github.com/parkervcp/eggs.git
synced 2025-01-09 22:22:56 +08:00
Merge pull request #948 from lilkingjr1/arma-patch
Arma 3 Server Eggs Repair & Improvement
This commit is contained in:
commit
ad4f42fe2a
@ -4,5 +4,4 @@ ARMA is a series of first-person tactical military shooters, originally released
|
||||
|
||||
## Arma 3
|
||||
* [Arma 3](arma3)
|
||||
* [Arma 3 64 Bit](arma3_x64)
|
||||
* [Arma 3 Headless Client](arma3_headless_client)
|
@ -1,20 +1,31 @@
|
||||
# Arma 3
|
||||
# Arma 3 (32 or 64-bit)
|
||||
### From their [Site](https://arma3.com/)
|
||||
Experience true combat gameplay in a massive military sandbox. Deploying a wide variety of single- and multiplayer content, over 20 vehicles and 40 weapons, and limitless opportunities for content creation, this is the PC’s premier military game. Authentic, diverse, open - Arma 3 sends you to war.
|
||||
|
||||
### Minimum RAM warning
|
||||
This server requires about 2048m to run properly. ARMA 3 is more CPU intensive though.
|
||||
### Installation Requirements
|
||||
- A valid, real Steam account, with Steam Guard turned off, is required to install the server (default "anonymous" login cannot be used). For security reasons it is recommended that you create a new Steam account just for your dedicated servers. This account *does not* need to own Arma 3.
|
||||
- For automatic Steam Workshop mod downloading to work, the Steam account *does* need to own Arma 3. This is, of course, optional functionality, and mods can be manually uploaded to the server if desired.
|
||||
|
||||
### Additional settings
|
||||
### Minimum RAM Warning
|
||||
This server requires about 2048 MB to run properly.
|
||||
|
||||
### CPU Usage Information
|
||||
ARMA 3 is mainly CPU intensive. Contrary to popular belief, the server binary *can* run on multiple cores/threads. However, it's ability to manage asynchronous tasks and hyperthread is *very* limited, meaning additional cores/threads reach diminishing returns very quickly. In addition, it's ability to utilize all of the CPU alloted to it for AI processing seems to be limited as well. Therefore, a [headless client](https://community.bistudio.com/wiki/Arma_3_Headless_Client) ***and*** a properly written mission file are highly recommended if large amounts of AI units will be used. An Arma 3 Headless Client Egg can be found [here](arma3_headless_client).
|
||||
|
||||
### Additional Settings
|
||||
Additional server flags can be found [here](https://community.bistudio.com/wiki/Arma_3_Startup_Parameters).
|
||||
This can help is you see the server using to many cores/threads on the server.
|
||||
These can help you fine tune how the server will behave during runtime.
|
||||
|
||||
*Note: The `-maxMem=` flag is currently known to cause an unknown segmentaion fault crash on startup. Other hardware related flags may cause similar behavior.*
|
||||
|
||||
### Server Ports
|
||||
Ports required to run the server in a table format.
|
||||
Default server ports. It is [recommended](https://community.bistudio.com/wiki/Arma_3:_Dedicated_Server#Port_Forwarding) that each server be 100 ports seperate from each other.
|
||||
|
||||
| Port | default |
|
||||
| Port | Default |
|
||||
|---------|---------|
|
||||
| Game | 2302-2306 |
|
||||
| BattleEye | 2344-2345 |
|
||||
| Arma 3 Game & VON | 2302 |
|
||||
| Steam Query (+1) | 2303 |
|
||||
| Steam Port (+2) | 2304 |
|
||||
| BattleEye (+4) | 2306 |
|
||||
|
||||
#### Mods/Plugins may require ports to be added to the server.
|
||||
|
@ -1,32 +1,34 @@
|
||||
// ****************************************************************************
|
||||
// *
|
||||
// Arma 3 - basic.cfg *
|
||||
// Version 060116 *
|
||||
// ArmA 3 Basic Network Config File - basic.cfg *
|
||||
// *
|
||||
// More info about parameters: *
|
||||
// https://community.bistudio.com/wiki/basic.cfg *
|
||||
// *
|
||||
// ****************************************************************************
|
||||
|
||||
// Defines network tuning parameters
|
||||
// Defines network tuning parameters.
|
||||
//
|
||||
// This file is to be passed to the -cfg parameter on the command line for the server
|
||||
// See http://community.bistudio.com/wiki/basic.cfg
|
||||
// The following settings are the suggested settings
|
||||
// This file is to be passed to the -cfg parameter on the command line for the server.
|
||||
// The following settings are the suggested settings.
|
||||
// Some settings are disabled (commented out) by default. Remove the // behind a setting to activate it.
|
||||
|
||||
// BANDWIDTH SETTINGS
|
||||
|
||||
// Bandwidth the server is guaranteed to have (in bps)
|
||||
// General guideline is NumberOfPlayers * 256kb
|
||||
// Default: 131072
|
||||
MinBandwidth=5120000;
|
||||
//MinBandwidth=5120000;
|
||||
// Bandwidth the server can never go above (in bps)
|
||||
// For a single server, use full network speed; decrease when running multiple servers
|
||||
MaxBandwidth=10240000;
|
||||
//MaxBandwidth=10240000;
|
||||
|
||||
// PACKET SETTINGS
|
||||
|
||||
// Maximum number of packets per frame.
|
||||
// Increasing the value potentially decreases lag, but increases desync
|
||||
// Default: 128
|
||||
MaxMsgSend=2048;
|
||||
//MaxMsgSend=2048;
|
||||
// Maximum payload of guaranteed packet (in b)
|
||||
// Small messages are packed to larger packets
|
||||
// Guaranteed packets are used for non-repetitive events, like shooting
|
||||
@ -42,42 +44,16 @@ MaxSizeNonguaranteed=256;
|
||||
// Maximal size of a packet sent over the network
|
||||
// Only necessary if ISP forces lower packet size and there are connectivity issues
|
||||
// Default: 1400
|
||||
// class sockets{maxPacketSize=1400};
|
||||
//class sockets{maxPacketSize=1400};
|
||||
|
||||
// SMOOTHNESS SETTINGS
|
||||
|
||||
// Minimal error required to send network updates for far units
|
||||
// Smaller values will make for smoother movement at long ranges, but will increase network traffic
|
||||
// Default: 0.003
|
||||
MinErrorToSend=0.01;
|
||||
//MinErrorToSend=0.01;
|
||||
// Minimal error required to send network updates for near units
|
||||
// Using larger value can reduce traffic sent for near units
|
||||
// Also controls client to server traffic
|
||||
// Default: 0.01
|
||||
MinErrorToSendNear=0.02;
|
||||
|
||||
// GEOLOCATION SETTINGS
|
||||
|
||||
// Server latitude
|
||||
serverLatitude=52;
|
||||
serverLatitudeAuto=52;
|
||||
|
||||
// Server Longitude
|
||||
serverLongitude=0;
|
||||
serverLongitudeAuto=0;
|
||||
// MISC
|
||||
// View Distance (not sure if this actually works)
|
||||
viewDistance=10000;
|
||||
|
||||
// Maximum size (in b) for custom face or sound files
|
||||
// Default: 0
|
||||
MaxCustomFileSize=65536;
|
||||
// Server language
|
||||
language="English";
|
||||
steamLanguage="English";
|
||||
// Adapter
|
||||
adapter=-1;
|
||||
// Windowed mode
|
||||
Windowed=0;
|
||||
|
||||
3D_Performance=1.000000;
|
||||
//MinErrorToSendNear=0.02;
|
||||
|
@ -1,17 +1,16 @@
|
||||
// ****************************************************************************
|
||||
// *
|
||||
// Arma 3 - server.cfg *
|
||||
// Version 060117 *
|
||||
// ArmA 3 Server Config File - server.cfg *
|
||||
// *
|
||||
// More info about parameters: *
|
||||
// https://community.bistudio.com/wiki/server.cfg *
|
||||
// *
|
||||
// ****************************************************************************
|
||||
|
||||
// ArmA 3 Server Config File
|
||||
//
|
||||
// More info about parameters:
|
||||
// https://community.bistudio.com/wiki/server.cfg
|
||||
// Some settings are not listed here; see link above for extensive list.
|
||||
// Some settings are disabled (commented out). Remove the // to enable them.
|
||||
|
||||
|
||||
// GENERAL SETTINGS
|
||||
// === GLOBAL SETTINGS ===
|
||||
|
||||
// Hostname for server.
|
||||
hostname = "Arma 3 Server";
|
||||
@ -22,45 +21,16 @@ hostname = "Arma 3 Server";
|
||||
// Admin Password
|
||||
//passwordAdmin = "ADMINPASSWORD";
|
||||
|
||||
// Auto-admin
|
||||
admins[] = {"<UID>"};
|
||||
// Whitelisted Admins - Clients that do not need a password to login.
|
||||
//admins[] = { "UID OR steamID64", "0123456789", "9876543210" };
|
||||
|
||||
// Server Slots
|
||||
maxPlayers = 32;
|
||||
// Server Command Password - for scripting and certain mods.
|
||||
//serverCommandPassword = "COMMANDPASSWORD";
|
||||
|
||||
// Logfile
|
||||
logFile = "arma3server.log";
|
||||
|
||||
// Minimum Required Client Build
|
||||
//requiredBuild = 95691
|
||||
|
||||
class Missions
|
||||
{
|
||||
class Mission1
|
||||
{
|
||||
template = ;
|
||||
difficulty = "Regular";
|
||||
class Params {};
|
||||
};
|
||||
class Mission2
|
||||
{
|
||||
template = ;
|
||||
difficulty = "Regular";
|
||||
class Params {};
|
||||
};
|
||||
class Mission3
|
||||
{
|
||||
template = ;
|
||||
difficulty = "Regular";
|
||||
class Params {};
|
||||
};
|
||||
class Mission4
|
||||
{
|
||||
template = ;
|
||||
difficulty = "Regular";
|
||||
class Params {};
|
||||
};
|
||||
};
|
||||
// Log File
|
||||
logFile = "server_console.log";
|
||||
// RPT File Timestamp Format - none | short | full
|
||||
timeStampFormat = "short";
|
||||
|
||||
// Message of the Day (MOTD)
|
||||
motd[] = {
|
||||
@ -68,91 +38,129 @@ motd[] = {
|
||||
"TS3 Server: teamspeak.somewhere.com",
|
||||
"Web: www.example.com"
|
||||
};
|
||||
// MOTD Interval - Seconds between each message.
|
||||
motdInterval = 5;
|
||||
|
||||
// MOTD Interval (Seconds)
|
||||
motdInterval = 30;
|
||||
// Missions Cycle
|
||||
class Missions
|
||||
{
|
||||
class Mission1
|
||||
{
|
||||
template = MP_ZGM_m11.Altis;
|
||||
difficulty = "Regular";
|
||||
class Params {};
|
||||
};
|
||||
class Mission2
|
||||
{
|
||||
template = MP_ZGM_m12.Stratis;
|
||||
difficulty = "Recruit";
|
||||
class Params {};
|
||||
};
|
||||
};
|
||||
// Whitelisted Missions - Only these missions can be selected on the mission select screen.
|
||||
//missionWhitelist[] = { "MP_ZGM_m11.Altis", "MP_ZGM_m12.Stratis" };
|
||||
|
||||
|
||||
// VOTING
|
||||
// === JOINING RULES ===
|
||||
|
||||
// Server Mission Start
|
||||
// minimum number of clients before server starts mission
|
||||
voteMissionPlayers = 1;
|
||||
// Server Slots
|
||||
maxPlayers = 32;
|
||||
|
||||
// Accepted Vote Threshold
|
||||
// 0.33 = 33% clients.
|
||||
voteThreshold = 0.33;
|
||||
// Enable BattlEye
|
||||
BattlEye = 1;
|
||||
|
||||
// INGAME SETTINGS
|
||||
// Addon Signature Verification - Verifies .pbos against .bisign files - 0 = Disabled | 2 = Enabled (v2)
|
||||
verifySignatures = 2;
|
||||
|
||||
// Disable Voice over Net (VoN)
|
||||
// 0 = voice enabled.
|
||||
// 1 = voice disabled.
|
||||
// Kick Duplicate Player IDs - 0 = No | 1 = Yes
|
||||
kickDuplicate = 1;
|
||||
// Allow File Patching - 0 = No Clients | 1 = Headless Clients only | 2 = All Clients
|
||||
allowedFilePatching = 0;
|
||||
// Minimum Required Client Version
|
||||
//requiredBuild = 999999999;
|
||||
// LAN Mode
|
||||
loopback = 0;
|
||||
// UPNP Router Mode
|
||||
upnp = 0;
|
||||
|
||||
// Headless Client IP Whitelists
|
||||
headlessClients[] = { "127.0.0.1" };
|
||||
localClient[] = { "127.0.0.1" };
|
||||
|
||||
|
||||
// === INGAME SETTINGS ===
|
||||
|
||||
// Advanced Flight Model Enforcement - 0 = Up to player | 1 = Advanced model enforced | 2 = Simple model enforced
|
||||
forceRotorLibSimulation = 0;
|
||||
|
||||
// Disable In-Game Voice Chat (Voice over Network)
|
||||
disableVoN = 0;
|
||||
|
||||
// VoN Codec - 0 = older SPEEX codec | 1 = newer IETF standard OPUS codec
|
||||
vonCodec = 1;
|
||||
// VoN Codec Quality
|
||||
// 0-10 = 8kHz (narrowband).
|
||||
// 11-20 = 16kHz (wideband).
|
||||
// 21-30 = 32kHz (ultrawideband).
|
||||
vonCodecQuality = 3;
|
||||
vonCodecQuality = 10;
|
||||
|
||||
// Persistent Battlefield
|
||||
// 0 = disable.
|
||||
// 1 = enable.
|
||||
persistent = 1;
|
||||
// Persistent Mission - Keeps mission running when all players disconnect.
|
||||
persistent = 0;
|
||||
|
||||
// Time Stamp Format
|
||||
// none, short, full
|
||||
timeStampFormat = "short";
|
||||
// Allow Drawing in Map
|
||||
drawingInMap = 1;
|
||||
|
||||
// Server Statistics
|
||||
// Set this to 0 to opt-out! More info: https://community.bistudio.com/wiki/Arma_3_Analytics
|
||||
statisticsEnabled = 1;
|
||||
// Enforce Difficulty - Use "Custom" for ServerProfile-defined custom difficulty
|
||||
forcedDifficulty = "regular";
|
||||
|
||||
// SERVER SECURITY/ANTI HACK
|
||||
|
||||
// Verify Signitures for Client Addons
|
||||
// 0 = off.
|
||||
// 1 = weak protection (depricated).
|
||||
// 2 = full protection.
|
||||
verifySignatures = 2;
|
||||
// === VOTING ===
|
||||
|
||||
// Secure Player ID
|
||||
// 1 = Server warning message.
|
||||
// 2 = Kick client.
|
||||
requiredSecureId = 2;
|
||||
// Allowed Vote Commands - Un-comment this to prevent voted commands (like vote-kick)
|
||||
//allowedVoteCmds[] = {};
|
||||
|
||||
// Kick Duplicate Player IDs
|
||||
kickDuplicate = 1;
|
||||
// Start mission-voting when X number of players connect.
|
||||
voteMissionPlayers = 1;
|
||||
|
||||
// BattlEye Anti-Cheat
|
||||
// 0 = disable
|
||||
// 1 = enable
|
||||
BattlEye = 1;
|
||||
// Vote Threshold - Percentage of votes needed to confirm a vote.
|
||||
voteThreshold = 0.33;
|
||||
|
||||
// Allowed File Extentions
|
||||
allowedLoadFileExtensions[] = {"hpp","sqs","sqf","fsm","cpp","paa","txt","xml","inc","ext","sqm","ods","fxy","lip","csv","kb","bik","bikb","html","htm","biedi"};
|
||||
allowedPreprocessFileExtensions[] = {"hpp","sqs","sqf","fsm","cpp","paa","txt","xml","inc","ext","sqm","ods","fxy","lip","csv","kb","bik","bikb","html","htm","biedi"};
|
||||
allowedHTMLLoadExtensions[] = {"htm","html","xml","txt"};
|
||||
|
||||
// SCRIPTING ISSUES
|
||||
// === CLIENT NETWORK HEALTH ===
|
||||
|
||||
// Seconds to wait before disconnecting a user which temporarily lost connection.
|
||||
disconnectTimeout = 90;
|
||||
// Max Desync Value
|
||||
maxdesync = 150;
|
||||
// Max Ping (ms)
|
||||
maxping = 200;
|
||||
// Max Packet Loss
|
||||
maxpacketloss = 50;
|
||||
|
||||
// Action to Take on Slow Network (defined above)
|
||||
// Defines if {<MaxPing>, <MaxPacketLoss>, <MaxDesync>, <DisconnectTimeout>} will be logged (0) or kicked (1)
|
||||
kickClientsOnSlowNetwork[] = { 1, 1, 0, 1 };
|
||||
|
||||
// Kick Duration (temp-ban) on Network Kick
|
||||
// Options {<manual kick>, <connectivity kick>, <BattlEye kick>, <harmless kick>} -- Timeout {>0 seconds; -1 until missionEnd; -2 until serverRestart}
|
||||
kickTimeout[] = { {0, -1},{1, 1},{2, 5},{3, 1} };
|
||||
|
||||
|
||||
// === SERVER SIDE SCRIPTING ===
|
||||
// See https://community.bistudio.com/wiki/ArmA:_Server_Side_Scripting
|
||||
|
||||
onUserConnected = "";
|
||||
onUserDisconnected = "";
|
||||
doubleIdDetected = "";
|
||||
|
||||
// SIGNATURE VERIFICATION
|
||||
// kick = kick (_this select 0)
|
||||
// ban = ban (_this select 0)
|
||||
onUnsignedData = "kick (_this select 0)";
|
||||
onHackedData = "kick (_this select 0)";
|
||||
onDifferentData = "";
|
||||
|
||||
// HEADLESS CLIENT SUPPORT
|
||||
// specify ip-adresses of allowed headless clients
|
||||
headlessClients[] = {"127.0.0.1", "172.18.0.1"};
|
||||
localClient[] = {"127.0.0.1", "172.18.0.1"};
|
||||
|
||||
// BattlEye Anti-Cheat License
|
||||
// 0 = decline
|
||||
// 1 = accept
|
||||
battleyeLicense = 1;
|
||||
// Only allow files with these extensions to be loaded via loadFile command
|
||||
allowedLoadFileExtensions[] = {"hpp","sqs","sqf","fsm","cpp","paa","txt","xml","inc","ext","sqm","ods","fxy","lip","csv","kb","bik","bikb","html","htm","biedi"};
|
||||
// Only allow files with these extensions to be loaded via preprocessFile/preprocessFileLineNumber commands
|
||||
allowedPreprocessFileExtensions[] = {"hpp","sqs","sqf","fsm","cpp","paa","txt","xml","inc","ext","sqm","ods","fxy","lip","csv","kb","bik","bikb","html","htm","biedi"};
|
||||
// Only allow files with these extensions to be loaded via HTMLLoad command
|
||||
allowedHTMLLoadExtensions[] = {"htm","html","xml","txt"};
|
||||
// Leave commented to let missions/campaigns/addons decide what URIs are supported. Un-comment to define server-level restrictions for URIs
|
||||
//allowedHTMLLoadURIs = {};
|
||||
|
@ -1,108 +1,148 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v1"
|
||||
"version": "PTDL_v1",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2019-12-26T15:50:38-05:00",
|
||||
"exported_at": "2021-01-26T21:50:23+00:00",
|
||||
"name": "Arma 3",
|
||||
"author": "daave@aaathats3as.com",
|
||||
"author": "rehlmgaming@gmail.com",
|
||||
"description": "Experience true combat gameplay in a massive military sandbox. Deploying a wide variety of single- and multiplayer content, over 20 vehicles and 40 weapons, and limitless opportunities for content creation, this is the PC's premier military game. Authentic, diverse, open - Arma 3 sends you to war.",
|
||||
"image": "quay.io\/parkervcp\/pterodactyl-images:game_arma3",
|
||||
"startup": ".\/arma3server -ip=0.0.0.0 -port={{SERVER_PORT}} -cfg={{BASIC}} -config={{CONFIG}} {{CUSTOM}} -mod=\"{{MODS}}\" -serverMod=\"{{SERVERMODS}}\"",
|
||||
"features": null,
|
||||
"images": [
|
||||
"quay.io\/parkervcp\/pterodactyl-images:game_arma3"
|
||||
],
|
||||
"startup": ".\/{{SERVER_BINARY}} -ip=0.0.0.0 -port={{SERVER_PORT}} -profiles=.\/serverprofile -bepath=.\/battleye -cfg=\"{{BASIC}}\" -config=\"{{CONFIG}}\" {{STARTUP_PARAMS}} -mod=\"{{MODS}}\" -serverMod=\"{{SERVERMODS}}\"",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \"Connected to Steam servers\",\r\n \"userInteraction\": []\r\n}",
|
||||
"startup": "{\r\n \"done\": \"Host identity created.\",\r\n \"userInteraction\": []\r\n}",
|
||||
"logs": "{\r\n \"custom\": true,\r\n \"location\": \"latest.log\"\r\n}",
|
||||
"stop": "^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\n## ARMA III specific setup\r\ncd \/mnt\/server\/\r\n\r\nmkdir -p \"\/mnt\/server\/.local\/share\/Arma 3\" \"\/mnt\/server\/.local\/share\/Arma 3 - Other Profiles\"\r\n\r\n[[ -f basic.cfg ]] || curl -sSLO https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/steamcmd_servers\/arma\/arma3\/egg-arma3-config\/basic.cfg\r\n[[ -f server.cfg ]] || curl -sSLO https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/steamcmd_servers\/arma\/arma3\/egg-arma3-config\/server.cfg",
|
||||
"script": "#!\/bin\/bash\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} +force_install_dir \/mnt\/server +app_update ${STEAMCMD_APPID} ${STEAMCMD_EXTRA_FLAGS} validate +quit\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\n## ARMA III specific setup\r\ncd \/mnt\/server\/\r\n\r\nmkdir -p \"\/mnt\/server\/.local\/share\/Arma 3\" \"\/mnt\/server\/.local\/share\/Arma 3 - Other Profiles\"\r\n\r\n[[ -f basic.cfg ]] || curl -sSLO https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/steamcmd_servers\/arma\/arma3\/egg-arma3-config\/basic.cfg\r\n[[ -f server.cfg ]] || curl -sSLO https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/steamcmd_servers\/arma\/arma3\/egg-arma3-config\/server.cfg\r\nchmod 755 basic.cfg server.cfg",
|
||||
"container": "debian:buster-slim",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Game App ID",
|
||||
"description": "Steam CMD App ID.",
|
||||
"env_variable": "SRCDS_APPID",
|
||||
"name": "Arma 3 Dedicated Server App ID",
|
||||
"description": "Used for installation and updates.",
|
||||
"env_variable": "STEAMCMD_APPID",
|
||||
"default_value": "233780",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 0,
|
||||
"rules": "required|alpha_dash|between:1,100"
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|numeric"
|
||||
},
|
||||
{
|
||||
"name": "Config",
|
||||
"description": "Server config",
|
||||
"env_variable": "CONFIG",
|
||||
"default_value": "server.cfg",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "string|nullable"
|
||||
},
|
||||
{
|
||||
"name": "Custom Command Line Option.",
|
||||
"description": "Put -autoinit or related things in here :)",
|
||||
"env_variable": "CUSTOM",
|
||||
"default_value": "",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "string|nullable"
|
||||
},
|
||||
{
|
||||
"name": "SERVERMODS",
|
||||
"description": "This is where you put the files that go along with the -serverMods startup option.",
|
||||
"env_variable": "SERVERMODS",
|
||||
"default_value": "",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "string|nullable"
|
||||
},
|
||||
{
|
||||
"name": "Mods",
|
||||
"description": "This is where you put mods that go along with the -mods startup option",
|
||||
"env_variable": "MODS",
|
||||
"default_value": "",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "string|nullable"
|
||||
},
|
||||
{
|
||||
"name": "Steam User",
|
||||
"description": "A Steam username with Arma3 on the account.",
|
||||
"name": "Steam Username",
|
||||
"description": "Used for installation and updates. Account does not need to own Arma 3, but must be a valid Steam account (anonymous login cannot be used). For security reasons it is recommended that you create a new Steam account just for your dedicated servers. *This info is not visible to the server owner.*",
|
||||
"env_variable": "STEAM_USER",
|
||||
"default_value": "anonymous",
|
||||
"user_viewable": 0,
|
||||
"user_editable": 0,
|
||||
"default_value": "your_steam_username",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string"
|
||||
},
|
||||
{
|
||||
"name": "Steam Password",
|
||||
"description": "Steam User Password",
|
||||
"description": "Used for installation and updates. Steam Guard must be TURNED OFF for install to complete successfully. *This info is not visible to the server owner.*",
|
||||
"env_variable": "STEAM_PASS",
|
||||
"default_value": "",
|
||||
"user_viewable": 0,
|
||||
"user_editable": 0,
|
||||
"rules": "nullable|string"
|
||||
"default_value": "your_steam_password",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string"
|
||||
},
|
||||
{
|
||||
"name": "Basic",
|
||||
"description": "Basic network config",
|
||||
"env_variable": "BASIC",
|
||||
"default_value": "basic.cfg",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"name": "Server Binary",
|
||||
"description": "Server binary to call on server start. (32-bit: arma3server | 64-bit: arma3server_x64)",
|
||||
"env_variable": "SERVER_BINARY",
|
||||
"default_value": "arma3server_x64",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string"
|
||||
},
|
||||
{
|
||||
"name": "Extra Startup Parameters",
|
||||
"description": "See https:\/\/community.bistudio.com\/wiki\/Arma_3_Startup_Parameters for more info.",
|
||||
"env_variable": "STARTUP_PARAMS",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "string|nullable"
|
||||
},
|
||||
{
|
||||
"name": "Steam Auth Code",
|
||||
"description": "Steam Auth Code only when you're using Steam Auth",
|
||||
"env_variable": "STEAM_AUTH",
|
||||
"name": "Server Configuration File",
|
||||
"description": "See https:\/\/community.bistudio.com\/wiki\/server.cfg for more info.",
|
||||
"env_variable": "CONFIG",
|
||||
"default_value": "server.cfg",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "string|nullable"
|
||||
},
|
||||
{
|
||||
"name": "Basic Network Configuration",
|
||||
"description": "See https:\/\/community.bistudio.com\/wiki\/basic.cfg for more info.",
|
||||
"env_variable": "BASIC",
|
||||
"default_value": "basic.cfg",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string"
|
||||
},
|
||||
{
|
||||
"name": "Mods",
|
||||
"description": "Mod folders to be used with the -mods startup option. NO capital letters, spaces, or folders starting with a number! Each folder must be followed with a semicolon (ex. @123456789;@987654321;etc;)",
|
||||
"env_variable": "MODS",
|
||||
"default_value": "",
|
||||
"user_viewable": 0,
|
||||
"user_editable": 0,
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string"
|
||||
},
|
||||
{
|
||||
"name": "Server Mods",
|
||||
"description": "Server-side only mod folders to be used with the -serverMods startup option. NO capital letters, spaces, or folders starting with a number! Each folder must be followed with a semicolon (ex. @123456789;@987654321;etc;)",
|
||||
"env_variable": "SERVERMODS",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string"
|
||||
},
|
||||
{
|
||||
"name": "Extra Flags for SteamCMD",
|
||||
"description": "Only used when checking for server updates, and typically used for grabbing beta builds.\r\nExample: -beta profiling -betapassword CautionSpecialProfilingAndTestingBranchArma3",
|
||||
"env_variable": "STEAMCMD_EXTRA_FLAGS",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string"
|
||||
},
|
||||
{
|
||||
"name": "Check for Server Updates",
|
||||
"description": "Check for server updates on server start.\r\n1 True | 0 False",
|
||||
"env_variable": "UPDATE_SERVER",
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "boolean"
|
||||
},
|
||||
{
|
||||
"name": "Steam Workshop Mods to Download\/Update",
|
||||
"description": "[*Only works if the host owns Arma 3] Comma separated list of Steam Workshop mod IDs to download\/update on server start. (ex. 450814997,463939057) Each mod will be downloaded to the root directory with the folder format: @ModIdNumber",
|
||||
"env_variable": "UPDATE_WORKSHOP",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "string|nullable"
|
||||
},
|
||||
{
|
||||
"name": "Set Mods to Lowercase",
|
||||
"description": "On server start, goes through all the mod folders listed in \"Mods\" & \"Server Mods\", and makes sure every folder and file is lowercase (to prevent errors). This is particularly useful to run ONCE after copying a mod from a Windows machine to the server, or if mods seem to not be loading.",
|
||||
"env_variable": "MODS_LOWERCASE",
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "boolean"
|
||||
}
|
||||
]
|
||||
}
|
@ -1,21 +1,27 @@
|
||||
# Arma 3 Headless Client
|
||||
### From their [Site](https://community.bistudio.com/wiki/Arma_3_Headless_Client)
|
||||
What is a Headless Client (HC) used for?
|
||||
* Headless Client is used to offload AI calculations from the server
|
||||
* Headless Client is integrated into game client and dedicated server executable (WIndows and Linux, use -client parameter)
|
||||
* The server doesn't allow arbitrary connections from headless clients if you do not define the headless clients IPs in the server.cfg,
|
||||
* Headless Client is used to offload AI calculations from the server [to improve the main server's performance].
|
||||
* Headless Client is integrated into dedicated server executable, and uses the `-client` parameter to activate.
|
||||
* The server doesn't allow arbitrary connections from headless clients if you do not define the headless clients' IPs in the `server.cfg`.
|
||||
|
||||
### But why?
|
||||
If you host an Arma 3 Server with lots of AI in it, the Server FPS will drop fast.
|
||||
Since the server files are only 32 Bit you will need some kind of magical assistant to prevent slow AI.
|
||||
If you host an Arma 3 Server with lots of AI in it, the Server FPS will drop fast. The headless client helps alleviate the AI's stress on the server.
|
||||
|
||||
### Minimum RAM warning
|
||||
This server requires about 2048m to run properly. ARMA 3 is more CPU intensive though.
|
||||
### Installation Requirements
|
||||
- A valid, real Steam account, with Steam Guard turned off, is required to install the client (default "anonymous" login cannot be used). For security reasons it is recommended that you create a new Steam account just for your dedicated servers. This account *does not* need to own Arma 3.
|
||||
- The Arma 3 server this client is connecting to **must** be running a properly written mission file that accepts and utilizes headless clients. If you want to know how to implement, take a look at the Wiki [here](https://community.bistudio.com/wiki/Arma_3_Headless_Client#Spawning_the_AI) or at a guide in the A3 Forums [here](https://forums.bohemia.net/forums/topic/178434-arma3-headless-client-guide/).
|
||||
- For automatic Steam Workshop mod downloading to work, the Steam account *does* need to own Arma 3. This is, of course, optional functionality, and mods can be manually uploaded to the client if desired.
|
||||
|
||||
### Additional settings
|
||||
Additional server flags can be found [here](https://community.bistudio.com/wiki/Arma_3_Startup_Parameters).
|
||||
This can help is you see the server using to many cores/threads on the server.
|
||||
If you want to know how to implement, take a look at the Wiki [here](https://community.bistudio.com/wiki/Arma_3_Headless_Client#Spawning_the_AI) or at a guide in the A3 Forums [here](https://forums.bohemia.net/forums/topic/178434-arma3-headless-client-guide/).
|
||||
### Minimum RAM Warning
|
||||
This client requires about 2048 MB to run properly.
|
||||
|
||||
### Additional Settings
|
||||
Additional client flags can be found [here](https://community.bistudio.com/wiki/Arma_3_Startup_Parameters).
|
||||
These can help you fine tune how the client will behave during runtime.
|
||||
|
||||
*Note: The `-maxMem=` flag is currently known to cause an unknown segmentaion fault crash on startup. Other hardware related flags may cause similar behavior.*
|
||||
|
||||
### Server Ports
|
||||
Since this is basically a client, this Egg does not need a port.
|
||||
Therefore, the port assigned to this Egg goes unused.
|
||||
|
@ -1,14 +1,18 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v1"
|
||||
"version": "PTDL_v1",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2019-12-26T15:50:34-05:00",
|
||||
"exported_at": "2021-01-26T21:54:10+00:00",
|
||||
"name": "Arma 3 Headless Client",
|
||||
"author": "brainp4in@blueberry-hood-clan.de",
|
||||
"author": "rehlmgaming@gmail.com",
|
||||
"description": "Headless Clients are used to offload AI calculations from the Arma 3 Server.",
|
||||
"image": "quay.io\/parkervcp\/pterodactyl-images:game_arma3",
|
||||
"startup": ".\/arma3server -client -connect={{SERVERIP}} -port={{SERVERPORT}} {{CUSTOM}} -mod=\"{{MODS}}\"",
|
||||
"features": null,
|
||||
"images": [
|
||||
"quay.io\/parkervcp\/pterodactyl-images:game_arma3"
|
||||
],
|
||||
"startup": ".\/{{SERVER_BINARY}} -client -connect={{CONNECT_IP}} -port={{CONNECT_PORT}} -password=\"{{CONNECT_PASSWORD}}\" -profiles=.\/serverprofile -bepath=.\/battleye {{STARTUP_PARAMS}} -mod=\"{{MODS}}\"",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \"Client connected\",\r\n \"userInteraction\": []\r\n}",
|
||||
@ -17,83 +21,128 @@
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\n## ARMA III specific setup\r\ncd \/mnt\/server\/\r\n\r\nmkdir -p \"\/mnt\/server\/.local\/share\/Arma 3\" \"\/mnt\/server\/.local\/share\/Arma 3 - Other Profiles\"\r\n\r\n[[ -f basic.cfg ]] || curl -sSLO https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/steamcmd_servers\/arma\/arma3\/egg-arma3-config\/basic.cfg\r\n[[ -f server.cfg ]] || curl -sSLO https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/steamcmd_servers\/arma\/arma3\/egg-arma3-config\/server.cfg",
|
||||
"container": "ubuntu:18.04",
|
||||
"script": "#!\/bin\/bash\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} +force_install_dir \/mnt\/server +app_update ${STEAMCMD_APPID} ${STEAMCMD_EXTRA_FLAGS} validate +quit\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\n## ARMA III specific setup\r\ncd \/mnt\/server\/\r\n\r\nmkdir -p \"\/mnt\/server\/.local\/share\/Arma 3\" \"\/mnt\/server\/.local\/share\/Arma 3 - Other Profiles\"",
|
||||
"container": "debian:buster-slim",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Game App ID",
|
||||
"description": "Steam CMD App ID.",
|
||||
"env_variable": "SRCDS_APPID",
|
||||
"name": "Arma 3 Dedicated Server App ID",
|
||||
"description": "Used for installation and updates.",
|
||||
"env_variable": "STEAMCMD_APPID",
|
||||
"default_value": "233780",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 0,
|
||||
"rules": "required|alpha_dash|between:1,100"
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|numeric"
|
||||
},
|
||||
{
|
||||
"name": "Server IP",
|
||||
"description": "IP address of the Arma 3 server that should be supported by the Headless Client.",
|
||||
"env_variable": "SERVERIP",
|
||||
"default_value": "127.0.0.1",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "required|string|max:30"
|
||||
},
|
||||
{
|
||||
"name": "Server Port",
|
||||
"description": "Port of the Arma 3 server that should be supported by the Headless Client.",
|
||||
"env_variable": "SERVERPORT",
|
||||
"default_value": "2302",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "required|string|max:5"
|
||||
},
|
||||
{
|
||||
"name": "Custom Command Line Option.",
|
||||
"description": "Put -autoinit or related things in here :)",
|
||||
"env_variable": "CUSTOM",
|
||||
"default_value": "",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "string|nullable"
|
||||
},
|
||||
{
|
||||
"name": "Mods",
|
||||
"description": "This is where you put mods that go along with the -mods startup option",
|
||||
"env_variable": "MODS",
|
||||
"default_value": "",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "string|nullable"
|
||||
},
|
||||
{
|
||||
"name": "Steam User",
|
||||
"description": "A Steam username with Arma3 on the account.",
|
||||
"name": "Steam Username",
|
||||
"description": "Used for installation and updates. Account does not need to own Arma 3, but must be a valid Steam account (anonymous login cannot be used). For security reasons it is recommended that you create a new Steam account just for your dedicated servers. *This info is not visible to the server owner.*",
|
||||
"env_variable": "STEAM_USER",
|
||||
"default_value": "anonymous",
|
||||
"user_viewable": 0,
|
||||
"user_editable": 0,
|
||||
"default_value": "your_steam_username",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string"
|
||||
},
|
||||
{
|
||||
"name": "Steam Password",
|
||||
"description": "Steam User Password",
|
||||
"description": "Used for installation and updates. Steam Guard must be TURNED OFF for install to complete successfully. *This info is not visible to the server owner.*",
|
||||
"env_variable": "STEAM_PASS",
|
||||
"default_value": "your_steam_password",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string"
|
||||
},
|
||||
{
|
||||
"name": "Server Binary",
|
||||
"description": "Server binary to call on server start. (32-bit: arma3server | 64-bit: arma3server_x64)",
|
||||
"env_variable": "SERVER_BINARY",
|
||||
"default_value": "arma3server_x64",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string"
|
||||
},
|
||||
{
|
||||
"name": "Connect IP",
|
||||
"description": "IP address of the server to connect to.",
|
||||
"env_variable": "CONNECT_IP",
|
||||
"default_value": "127.0.0.1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|ip"
|
||||
},
|
||||
{
|
||||
"name": "Connect Port",
|
||||
"description": "Open port of the server to connect to.",
|
||||
"env_variable": "CONNECT_PORT",
|
||||
"default_value": "2302",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|numeric"
|
||||
},
|
||||
{
|
||||
"name": "Connect Password",
|
||||
"description": "If the server you are connecting to has a password, enter it here.",
|
||||
"env_variable": "CONNECT_PASSWORD",
|
||||
"default_value": "",
|
||||
"user_viewable": 0,
|
||||
"user_editable": 0,
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string"
|
||||
},
|
||||
{
|
||||
"name": "Steam Auth Code",
|
||||
"description": "Steam Auth Code only when you're using Steam Auth",
|
||||
"env_variable": "STEAM_AUTH",
|
||||
"name": "Mods",
|
||||
"description": "Mod folders to be used with the -mods startup option. NO capital letters, spaces, or folders starting with a number! Each folder must be followed with a semicolon (ex. @123456789;@987654321;etc;)",
|
||||
"env_variable": "MODS",
|
||||
"default_value": "",
|
||||
"user_viewable": 0,
|
||||
"user_editable": 0,
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string"
|
||||
},
|
||||
{
|
||||
"name": "Extra Startup Parameters",
|
||||
"description": "See https:\/\/community.bistudio.com\/wiki\/Arma_3_Startup_Parameters for more info.",
|
||||
"env_variable": "STARTUP_PARAMS",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string"
|
||||
},
|
||||
{
|
||||
"name": "Extra Flags for SteamCMD",
|
||||
"description": "Only used when checking for server updates, and typically used for grabbing beta builds.\r\nExample: -beta profiling -betapassword CautionSpecialProfilingAndTestingBranchArma3",
|
||||
"env_variable": "STEAMCMD_EXTRA_FLAGS",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string"
|
||||
},
|
||||
{
|
||||
"name": "Check for Server Updates",
|
||||
"description": "Check for server updates on server start.\r\n1 True | 0 False",
|
||||
"env_variable": "UPDATE_SERVER",
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "boolean"
|
||||
},
|
||||
{
|
||||
"name": "Steam Workshop Mods to Download\/Update",
|
||||
"description": "[*Only works if the host owns Arma 3] Comma separated list of Steam Workshop mod IDs to download\\\/update on server start. (ex. 450814997,463939057) Each mod will be downloaded to the root directory with the folder format: @ModIdNumber",
|
||||
"env_variable": "UPDATE_WORKSHOP",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string"
|
||||
},
|
||||
{
|
||||
"name": "Set Mods to Lowercase",
|
||||
"description": "On server start, goes through all the mod folders listed in \"Mods\" & \"Server Mods\", and makes sure every folder and file is lowercase (to prevent errors). This is particularly useful to run ONCE after copying a mod from a Windows machine to the server, or if mods seem to not be loading.",
|
||||
"env_variable": "MODS_LOWERCASE",
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "boolean"
|
||||
}
|
||||
]
|
||||
}
|
@ -1,20 +0,0 @@
|
||||
# Arma 3
|
||||
### From their [Site](https://arma3.com/)
|
||||
Experience true combat gameplay in a massive military sandbox. Deploying a wide variety of single- and multiplayer content, over 20 vehicles and 40 weapons, and limitless opportunities for content creation, this is the PC’s premier military game. Authentic, diverse, open - Arma 3 sends you to war.
|
||||
|
||||
### Minimum RAM warning
|
||||
This server requires about 2048m to run properly. ARMA 3 is more CPU intensive though.
|
||||
|
||||
### Additional settings
|
||||
Additional server flags can be found [here](https://community.bistudio.com/wiki/Arma_3_Startup_Parameters).
|
||||
This can help is you see the server using to many cores/threads on the server.
|
||||
|
||||
### Server Ports
|
||||
Ports required to run the server in a table format.
|
||||
|
||||
| Port | default |
|
||||
|---------|---------|
|
||||
| Game | 2302-2306 |
|
||||
| BattleEye | 2344-2345 |
|
||||
|
||||
#### Mods/Plugins may require ports to be added to the server.
|
@ -1,109 +0,0 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v1"
|
||||
},
|
||||
"exported_at": "2020-11-18T10:58:51-05:00",
|
||||
"name": "Arma 3 (64-bit)",
|
||||
"author": "brycea@terrahost.cloud",
|
||||
"description": "Experience true combat gameplay in a massive military sandbox. Deploying a wide variety of single- and multiplayer content, over 20 vehicles and 40 weapons, and limitless opportunities for content creation, this is the PC's premier military game. Authentic, diverse, open - Arma 3 sends you to war.",
|
||||
"features": null,
|
||||
"image": "quay.io\/terrahost\/pterodactyl-images:game_arma3_x64",
|
||||
"startup": ".\/arma3server_x64 -ip=0.0.0.0 -port={{SERVER_PORT}} -profiles=.\/profiles -bepath=.\/battleye -cfg={{BASIC}} -config={{CONFIG}} {{CUSTOM}} -mod={{MODS}} -serverMod={{SERVERMODS}}",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \"Connected to Steam servers\",\r\n \"userInteraction\": []\r\n}",
|
||||
"logs": "{\r\n \"custom\": true,\r\n \"location\": \"latest.log\"\r\n}",
|
||||
"stop": "^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n## install required packages to install arma\r\napt update\r\napt -y --no-install-recommends install curl unzip libstdc++6 lib32gcc1 ca-certificates\r\n## install steamcmd\r\ncd \/tmp\r\ncurl -sSL -o steamcmd.tar.gz http:\/\/media.steampowered.com\/installer\/steamcmd_linux.tar.gz\r\nmkdir -p \/mnt\/server\/steam\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steam\r\ncd \/mnt\/server\/steam\r\n## needs to be used for steamcmd to operate correctly\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n## install arma\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} +quit\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v \/mnt\/server\/steam\/linux32\/steamclient.so \/mnt\/server\/.steam\/sdk32\/steamclient.so\r\n# 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\nmkdir -p \"\/mnt\/server\/.local\/share\/Arma 3\" \"\/mnt\/server\/.local\/share\/Arma 3 - Other Profiles\"\r\nchmod +x \/mnt\/server\/arma3server_x64\r\n# doesn't actually work with current 64 bit wrapper\r\nchmod +x \/mnt\/server\/arma3server",
|
||||
"container": "ubuntu:20.04",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Game AppID",
|
||||
"description": "",
|
||||
"env_variable": "SRCDS_APPID",
|
||||
"default_value": "233780",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|numeric"
|
||||
},
|
||||
{
|
||||
"name": "Steam Username",
|
||||
"description": "Used for installation",
|
||||
"env_variable": "STEAM_USER",
|
||||
"default_value": "anonymous",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|string"
|
||||
},
|
||||
{
|
||||
"name": "Steam Password",
|
||||
"description": "",
|
||||
"env_variable": "STEAM_PASS",
|
||||
"default_value": "!xNfMpAN*Lr3iMsJ",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "nullable|string"
|
||||
},
|
||||
{
|
||||
"name": "Server Configuration File",
|
||||
"description": "https:\/\/community.bistudio.com\/wiki\/server.cfg",
|
||||
"env_variable": "CONFIG",
|
||||
"default_value": "server.cfg",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "string|nullable"
|
||||
},
|
||||
{
|
||||
"name": "Basic Network Config",
|
||||
"description": "Network Configuration",
|
||||
"env_variable": "BASIC",
|
||||
"default_value": "basic.cfg",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "string|nullable"
|
||||
},
|
||||
{
|
||||
"name": "Check for Updates",
|
||||
"description": "Check for updates on server start.\r\n1 True | 0 False",
|
||||
"env_variable": "UPDATE",
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|numeric"
|
||||
},
|
||||
{
|
||||
"name": "Mods",
|
||||
"description": "Client mods with the -mods startup option",
|
||||
"env_variable": "MODS",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string"
|
||||
},
|
||||
{
|
||||
"name": "Server Mods",
|
||||
"description": "Server-sided mods with the -serverMods startup option.",
|
||||
"env_variable": "SERVERMODS",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string"
|
||||
},
|
||||
{
|
||||
"name": "Extra Flags for SteamCMD",
|
||||
"description": "Typically used for grabbing beta builds.\r\nExample: -beta profiling -betapassword CautionSpecialProfilingAndTestingBranchArma3",
|
||||
"env_variable": "EXTRA_FLAGS",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "nullable|string"
|
||||
}
|
||||
]
|
||||
}
|
@ -1,83 +0,0 @@
|
||||
// ****************************************************************************
|
||||
// *
|
||||
// Arma 3 - basic.cfg *
|
||||
// Version 060116 *
|
||||
// *
|
||||
// ****************************************************************************
|
||||
|
||||
// Defines network tuning parameters
|
||||
//
|
||||
// This file is to be passed to the -cfg parameter on the command line for the server
|
||||
// See http://community.bistudio.com/wiki/basic.cfg
|
||||
// The following settings are the suggested settings
|
||||
|
||||
// BANDWIDTH SETTINGS
|
||||
|
||||
// Bandwidth the server is guaranteed to have (in bps)
|
||||
// General guideline is NumberOfPlayers * 256kb
|
||||
// Default: 131072
|
||||
MinBandwidth=5120000;
|
||||
// Bandwidth the server can never go above (in bps)
|
||||
// For a single server, use full network speed; decrease when running multiple servers
|
||||
MaxBandwidth=10240000;
|
||||
|
||||
// PACKET SETTINGS
|
||||
|
||||
// Maximum number of packets per frame.
|
||||
// Increasing the value potentially decreases lag, but increases desync
|
||||
// Default: 128
|
||||
MaxMsgSend=2048;
|
||||
// Maximum payload of guaranteed packet (in b)
|
||||
// Small messages are packed to larger packets
|
||||
// Guaranteed packets are used for non-repetitive events, like shooting
|
||||
// Lower value means more packets are sent, so less events will get combined
|
||||
// Default: 512
|
||||
MaxSizeGuaranteed=512;
|
||||
// Maximum payload of non-guaranteed packet (in b)
|
||||
// Increasing this value may improve bandwidth requirement, but may also increase lag
|
||||
// Largest factor in desync
|
||||
// Guidance is half of MaxSizeGuaranteed
|
||||
// Default: 256
|
||||
MaxSizeNonguaranteed=256;
|
||||
// Maximal size of a packet sent over the network
|
||||
// Only necessary if ISP forces lower packet size and there are connectivity issues
|
||||
// Default: 1400
|
||||
// class sockets{maxPacketSize=1400};
|
||||
|
||||
// SMOOTHNESS SETTINGS
|
||||
|
||||
// Minimal error required to send network updates for far units
|
||||
// Smaller values will make for smoother movement at long ranges, but will increase network traffic
|
||||
// Default: 0.003
|
||||
MinErrorToSend=0.01;
|
||||
// Minimal error required to send network updates for near units
|
||||
// Using larger value can reduce traffic sent for near units
|
||||
// Also controls client to server traffic
|
||||
// Default: 0.01
|
||||
MinErrorToSendNear=0.02;
|
||||
|
||||
// GEOLOCATION SETTINGS
|
||||
|
||||
// Server latitude
|
||||
serverLatitude=52;
|
||||
serverLatitudeAuto=52;
|
||||
|
||||
// Server Longitude
|
||||
serverLongitude=0;
|
||||
serverLongitudeAuto=0;
|
||||
// MISC
|
||||
// View Distance (not sure if this actually works)
|
||||
viewDistance=10000;
|
||||
|
||||
// Maximum size (in b) for custom face or sound files
|
||||
// Default: 0
|
||||
MaxCustomFileSize=65536;
|
||||
// Server language
|
||||
language="English";
|
||||
steamLanguage="English";
|
||||
// Adapter
|
||||
adapter=-1;
|
||||
// Windowed mode
|
||||
Windowed=0;
|
||||
|
||||
3D_Performance=1.000000;
|
@ -1,158 +0,0 @@
|
||||
// ****************************************************************************
|
||||
// *
|
||||
// Arma 3 - server.cfg *
|
||||
// Version 060117 *
|
||||
// *
|
||||
// ****************************************************************************
|
||||
|
||||
// ArmA 3 Server Config File
|
||||
//
|
||||
// More info about parameters:
|
||||
// https://community.bistudio.com/wiki/server.cfg
|
||||
|
||||
|
||||
// GENERAL SETTINGS
|
||||
|
||||
// Hostname for server.
|
||||
hostname = "Arma 3 Server";
|
||||
|
||||
// Server password - for private servers.
|
||||
//password = "arma3pass";
|
||||
|
||||
// Admin Password
|
||||
//passwordAdmin = "ADMINPASSWORD";
|
||||
|
||||
// Auto-admin
|
||||
admins[] = {"<UID>"};
|
||||
|
||||
// Server Slots
|
||||
maxPlayers = 32;
|
||||
|
||||
// Logfile
|
||||
logFile = "arma3server.log";
|
||||
|
||||
// Minimum Required Client Build
|
||||
//requiredBuild = 95691
|
||||
|
||||
class Missions
|
||||
{
|
||||
class Mission1
|
||||
{
|
||||
template = ;
|
||||
difficulty = "Regular";
|
||||
class Params {};
|
||||
};
|
||||
class Mission2
|
||||
{
|
||||
template = ;
|
||||
difficulty = "Regular";
|
||||
class Params {};
|
||||
};
|
||||
class Mission3
|
||||
{
|
||||
template = ;
|
||||
difficulty = "Regular";
|
||||
class Params {};
|
||||
};
|
||||
class Mission4
|
||||
{
|
||||
template = ;
|
||||
difficulty = "Regular";
|
||||
class Params {};
|
||||
};
|
||||
};
|
||||
|
||||
// Message of the Day (MOTD)
|
||||
motd[] = {
|
||||
"Welcome to My Arma 3 Server",
|
||||
"TS3 Server: teamspeak.somewhere.com",
|
||||
"Web: www.example.com"
|
||||
};
|
||||
|
||||
// MOTD Interval (Seconds)
|
||||
motdInterval = 30;
|
||||
|
||||
|
||||
// VOTING
|
||||
|
||||
// Server Mission Start
|
||||
// minimum number of clients before server starts mission
|
||||
voteMissionPlayers = 1;
|
||||
|
||||
// Accepted Vote Threshold
|
||||
// 0.33 = 33% clients.
|
||||
voteThreshold = 0.33;
|
||||
|
||||
// INGAME SETTINGS
|
||||
|
||||
// Disable Voice over Net (VoN)
|
||||
// 0 = voice enabled.
|
||||
// 1 = voice disabled.
|
||||
disableVoN = 0;
|
||||
|
||||
// VoN Codec Quality
|
||||
// 0-10 = 8kHz (narrowband).
|
||||
// 11-20 = 16kHz (wideband).
|
||||
// 21-30 = 32kHz (ultrawideband).
|
||||
vonCodecQuality = 3;
|
||||
|
||||
// Persistent Battlefield
|
||||
// 0 = disable.
|
||||
// 1 = enable.
|
||||
persistent = 1;
|
||||
|
||||
// Time Stamp Format
|
||||
// none, short, full
|
||||
timeStampFormat = "short";
|
||||
|
||||
// Server Statistics
|
||||
// Set this to 0 to opt-out! More info: https://community.bistudio.com/wiki/Arma_3_Analytics
|
||||
statisticsEnabled = 1;
|
||||
|
||||
// SERVER SECURITY/ANTI HACK
|
||||
|
||||
// Verify Signitures for Client Addons
|
||||
// 0 = off.
|
||||
// 1 = weak protection (depricated).
|
||||
// 2 = full protection.
|
||||
verifySignatures = 2;
|
||||
|
||||
// Secure Player ID
|
||||
// 1 = Server warning message.
|
||||
// 2 = Kick client.
|
||||
requiredSecureId = 2;
|
||||
|
||||
// Kick Duplicate Player IDs
|
||||
kickDuplicate = 1;
|
||||
|
||||
// BattlEye Anti-Cheat
|
||||
// 0 = disable
|
||||
// 1 = enable
|
||||
BattlEye = 1;
|
||||
|
||||
// Allowed File Extentions
|
||||
allowedLoadFileExtensions[] = {"hpp","sqs","sqf","fsm","cpp","paa","txt","xml","inc","ext","sqm","ods","fxy","lip","csv","kb","bik","bikb","html","htm","biedi"};
|
||||
allowedPreprocessFileExtensions[] = {"hpp","sqs","sqf","fsm","cpp","paa","txt","xml","inc","ext","sqm","ods","fxy","lip","csv","kb","bik","bikb","html","htm","biedi"};
|
||||
allowedHTMLLoadExtensions[] = {"htm","html","xml","txt"};
|
||||
|
||||
// SCRIPTING ISSUES
|
||||
onUserConnected = "";
|
||||
onUserDisconnected = "";
|
||||
doubleIdDetected = "";
|
||||
|
||||
// SIGNATURE VERIFICATION
|
||||
// kick = kick (_this select 0)
|
||||
// ban = ban (_this select 0)
|
||||
onUnsignedData = "kick (_this select 0)";
|
||||
onHackedData = "kick (_this select 0)";
|
||||
onDifferentData = "";
|
||||
|
||||
// HEADLESS CLIENT SUPPORT
|
||||
// specify ip-adresses of allowed headless clients
|
||||
headlessClients[] = {"127.0.0.1", "172.18.0.1"};
|
||||
localClient[] = {"127.0.0.1", "172.18.0.1"};
|
||||
|
||||
// BattlEye Anti-Cheat License
|
||||
// 0 = decline
|
||||
// 1 = accept
|
||||
battleyeLicense = 1;
|
Loading…
Reference in New Issue
Block a user