1
0
mirror of https://github.com/parkervcp/eggs.git synced 2024-10-06 23:57:07 +02:00

Merge pull request #177 from BrainP4in/master

Add Arma 3 Headless Client Egg
This commit is contained in:
Michael (Parker) Parker 2019-04-28 09:23:06 -04:00 committed by GitHub
commit 10cd9edd99
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 121 additions and 0 deletions

View File

@ -40,6 +40,7 @@ If you submit a PR without filling out the template I will deny it. This is for
[Arma](/arma/)
* [Arma 3](/arma/arma3/)
* [Arma 3 HC](/arma/arma3_headless_client/)
[Conan Exiles](/conan_exiles/conan_exiles)

View File

@ -0,0 +1,21 @@
# 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,
### 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.
### 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.
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/).
### Server Ports
Since this is basically a client, this Egg does not need a port.

View File

@ -0,0 +1,99 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2019-03-25T14:09:36+01:00",
"name": "Arma 3 Headless Client",
"author": "brainp4in@blueberry-hood-clan.de",
"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}}\"",
"config": {
"files": "{}",
"startup": "{\r\n \"done\": \"Client connected\",\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\r\napt -y update\r\napt -y --no-install-recommends install curl\r\napt -y --no-install-recommends install lib32gcc1 ca-certificates\r\n\r\ncd \/tmp\r\ncurl -sSLO http:\/\/media.steampowered.com\/installer\/steamcmd_linux.tar.gz\r\n\r\nmkdir -p \/mnt\/server\/steamcmd \/mnt\/server\/logs\r\nmkdir -p \"\/mnt\/server\/.local\/share\/Arma 3\" \"\/mnt\/server\/.local\/share\/Arma 3 - Other Profiles\"\r\n\r\ntouch \/mnt\/server\/latest.log\r\nchown -R root:root \/mnt\r\n\r\ntar -xzvf \/tmp\/steamcmd_linux.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\nexport HOME=\/mnt\/server\r\n\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${APP_ID} validate +quit\r\n\r\ncd \/mnt\/server\/\r\ncurl -sSLO https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/arma\/arma3\/egg-arma3-config\/server.cfg\r\ncurl -sSLO https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/arma\/arma3\/egg-arma3-config\/basic.cfg",
"container": "ubuntu:18.04",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Game App ID",
"description": "Steam CMD App ID.",
"env_variable": "APP_ID",
"default_value": "233780",
"user_viewable": 1,
"user_editable": 0,
"rules": "required|alpha_dash|between:1,100"
},
{
"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.",
"env_variable": "STEAM_USER",
"default_value": "anonymous",
"user_viewable": 0,
"user_editable": 0,
"rules": "required|string"
},
{
"name": "Steam Password",
"description": "Steam User Password",
"env_variable": "STEAM_PASS",
"default_value": "",
"user_viewable": 0,
"user_editable": 0,
"rules": "nullable|string"
},
{
"name": "Steam Auth Code",
"description": "Steam Auth Code only when you're using Steam Auth",
"env_variable": "STEAM_AUTH",
"default_value": "",
"user_viewable": 0,
"user_editable": 0,
"rules": "nullable|string"
}
]
}