refactor: move games to their own folder

This commit is contained in:
Softwarenoob
2021-07-02 03:20:20 +03:00
parent 772c791bda
commit 8ef59591f1
267 changed files with 113 additions and 113 deletions

View File

@@ -0,0 +1,6 @@
# ARMA
ARMA is a series of first-person tactical military shooters, originally released for Microsoft Windows. It features large elements of realism and simulation; a blend of large-scale military conflict spread across large areas alongside the more close quartered battles.
## Arma 3
* [Arma 3](arma3)

View File

@@ -0,0 +1,38 @@
# 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 PCs premier military game. Authentic, diverse, open - Arma 3 sends you to war.
### Egg Capabilities
- Configurable to run 32 or 64-bit versions of the server.
- Configurable to run Beta/Performance binaries of the server (if desired; advanced users only).
- Able to download server updates.
- Able to download Steam Workshop mods\* and move `.bikey`'s to the `/keys/` directory (\*see Installation Requirements).
- Configurable to run up to 5 Headless Clients in parallel with the main server (may require additional performance overhead).
### 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](https://developer.valvesoftware.com/wiki/SteamCMD#With_a_Steam_account) 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. Hosts may feel free to delete the "Steam Workshop Mods to Download/Update" variable if they would not like to offer it's functionallity.
### Minimum RAM Warning
This server requires about 2048 MB of RAM to run properly. If used, every Headless Client uses an additional 2048 MB of RAM as well.
### 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 ***and*** a properly written mission file are highly recommended if large amounts of AI units will be used.
### Additional Settings
Additional server flags can be found [here](https://community.bistudio.com/wiki/Arma_3_Startup_Parameters).
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
Default server ports. **All ports are required.** Ports after the Main port are relative to the main port (For example: The BattlEye port is always 4 ports higher than the main port). 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 |
|---------|---------|
| **Arma 3 Game & VON (Main)** | 2302 |
| Steam Query (+1) | 2303 |
| Steam Port (+2) | 2304 |
| BattleEye (+4) | 2306 |
#### Mods/Plugins may require ports to be added to the server.

View File

@@ -0,0 +1,59 @@
// ****************************************************************************
// *
// ArmA 3 Basic Network Config File - basic.cfg *
// *
// More info about parameters: *
// https://community.bistudio.com/wiki/basic.cfg *
// *
// ****************************************************************************
// Defines network tuning parameters.
//
// 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;
// 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;

View File

@@ -0,0 +1,166 @@
// ****************************************************************************
// *
// ArmA 3 Server Config File - server.cfg *
// *
// 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.
// === GLOBAL SETTINGS ===
// Hostname for server.
hostname = "Arma 3 Server";
// Server password - for private servers.
//password = "arma3pass";
// Admin Password
//passwordAdmin = "ADMINPASSWORD";
// Whitelisted Admins - Clients that do not need a password to login.
//admins[] = { "UID OR steamID64", "0123456789", "9876543210" };
// Server Command Password - for scripting and certain mods.
//serverCommandPassword = "COMMANDPASSWORD";
// Log File
logFile = "server_console.log";
// RPT File Timestamp Format - none | short | full
timeStampFormat = "short";
// Message of the Day (MOTD)
motd[] = {
"Welcome to My Arma 3 Server",
"TS3 Server: teamspeak.somewhere.com",
"Web: www.example.com"
};
// MOTD Interval - Seconds between each message.
motdInterval = 5;
// 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" };
// === JOINING RULES ===
// Server Slots
maxPlayers = 32;
// Enable BattlEye
BattlEye = 1;
// Addon Signature Verification - Verifies .pbos against .bisign files - 0 = Disabled | 2 = Enabled (v2)
verifySignatures = 2;
// 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 = 10;
// Persistent Mission - Keeps mission running when all players disconnect.
persistent = 0;
// Allow Drawing in Map
drawingInMap = 1;
// Enforce Difficulty - Use "Custom" for ServerProfile-defined custom difficulty
forcedDifficulty = "regular";
// === VOTING ===
// Allowed Vote Commands - Un-comment this to prevent voted commands (like vote-kick)
//allowedVoteCmds[] = {};
// Start mission-voting when X number of players connect.
voteMissionPlayers = 1;
// Vote Threshold - Percentage of votes needed to confirm a vote.
voteThreshold = 0.33;
// === 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 = "";
onUnsignedData = "kick (_this select 0)";
onHackedData = "kick (_this select 0)";
onDifferentData = "";
// 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 = {};

View File

@@ -0,0 +1,166 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1",
"update_url": null
},
"exported_at": "2021-01-30T22:22:39+00:00",
"name": "Arma 3",
"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.",
"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}}\\\" -mod=\\\"{{MODIFICATIONS}}\\\" -serverMod=\\\"{{SERVERMODS}}\\\" {{STARTUP_PARAMS}}",
"config": {
"files": "{}",
"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## 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": "Arma 3 Dedicated Server App ID",
"description": "Used for installation and updates.",
"env_variable": "STEAMCMD_APPID",
"default_value": "233780",
"user_viewable": false,
"user_editable": false,
"rules": "required|integer"
},
{
"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": "your_steam_username",
"user_viewable": false,
"user_editable": false,
"rules": "required|string"
},
{
"name": "Steam 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|in:arma3server,arma3server_x64,arma3serverprofiling,arma3serverprofiling_x64"
},
{
"name": "Extra Startup Parameters",
"description": "See https:\/\/community.bistudio.com\/wiki\/Arma_3_Startup_Parameters for more info.",
"env_variable": "STARTUP_PARAMS",
"default_value": "-noLogs",
"user_viewable": true,
"user_editable": true,
"rules": "string|nullable"
},
{
"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": "MODIFICATIONS",
"default_value": "",
"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": "Check for Server Updates",
"description": "Check for server updates on server start. (1 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\". NOTE: Particularly large mods (ie. RHS, CUP, typically anything over 3 GB) may not download properly due to limitations of SteamCMD.",
"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"
},
{
"name": "[Advanced] 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": "[Advanced] Headless Clients (HC)",
"description": "Number of Headless Clients (0 - 5) to launch parallel with the server. Be sure to set the following \"HC Connect Password\" variable if your server is password locked. PLEASE NOTE: Using a headless client is only recommended for advanced users, adds extra overhead to your permitted server resources, and is only beneficial if a properly written, HC compliant mission file is provided. See https:\/\/community.bistudio.com\/wiki\/Arma_3:_Headless_Client for more info.",
"env_variable": "HC_NUM",
"default_value": "0",
"user_viewable": true,
"user_editable": true,
"rules": "required|integer|between:0,5"
},
{
"name": "[Advanced] HC Connect Password",
"description": "If Headless Clients are used, this is the password used to connect to the server if the server is password locked.",
"env_variable": "HC_PASSWORD",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string"
}
]
}