From 9c5ea400fb46f9580ddb2e8a66575ecc410700eb Mon Sep 17 00:00:00 2001 From: Joachim Friberg Date: Mon, 23 Mar 2026 21:23:16 +0100 Subject: [PATCH] chore: align ark-suac app and refresh appstore zip --- AGENTS.md | 1 + Apps/_template/docker-compose.yaml | 4 +- Apps/ark-suac/README.md | 124 ++++ .../.gitattributes | 1 + .../Makefile | 20 + .../README.md | 592 ++++++++++++++++++ .../appliance.kiwi | 91 +++ .../assets/show-player-servers.jpg | Bin 0 -> 232542 bytes .../config.sh | 29 + .../docker-compose.dev.yml | 89 +++ .../docker-compose.yml | 83 +++ .../root/usr/bin/cli-asa-mods | 34 + .../root/usr/bin/start_server | 91 +++ .../root/usr/share/asa-ctrl/Gemfile | 4 + .../root/usr/share/asa-ctrl/Gemfile.lock | 15 + .../asa-ctrl/cli/interfaces/cli_interface.rb | 15 + .../asa-ctrl/cli/interfaces/mods_interface.rb | 34 + .../asa-ctrl/cli/interfaces/rcon_interface.rb | 42 ++ .../root/usr/share/asa-ctrl/cli/utils.rb | 23 + .../usr/share/asa-ctrl/errors/base_error.rb | 5 + .../root/usr/share/asa-ctrl/errors/errors.rb | 5 + .../errors/mod_already_enabled_error.rb | 5 + .../errors/rcon_authentication_error.rb | 5 + .../errors/rcon_password_not_found_error.rb | 5 + .../errors/rcon_port_not_found_error.rb | 5 + .../root/usr/share/asa-ctrl/exit_codes.rb | 10 + .../usr/share/asa-ctrl/helpers/helpers.rb | 2 + .../asa-ctrl/helpers/ini_config_helper.rb | 17 + .../asa-ctrl/helpers/start_params_helper.rb | 22 + .../root/usr/share/asa-ctrl/main.rb | 36 ++ .../root/usr/share/asa-ctrl/mods/database.rb | 66 ++ .../root/usr/share/asa-ctrl/rcon/rcon.rb | 69 ++ .../usr/share/proton/GE-Proton10-17.sha512sum | 1 + Apps/ark-suac/docker-compose.yaml | 68 ++ ...rk-survival-ascended-linux-container-image | 1 - dist/phirna-appstore.zip | Bin 49830 -> 55729 bytes 36 files changed, 1611 insertions(+), 3 deletions(-) create mode 100644 Apps/ark-suac/README.md create mode 100644 Apps/ark-suac/ark-survival-ascended-linux-container-image/.gitattributes create mode 100644 Apps/ark-suac/ark-survival-ascended-linux-container-image/Makefile create mode 100644 Apps/ark-suac/ark-survival-ascended-linux-container-image/README.md create mode 100644 Apps/ark-suac/ark-survival-ascended-linux-container-image/appliance.kiwi create mode 100644 Apps/ark-suac/ark-survival-ascended-linux-container-image/assets/show-player-servers.jpg create mode 100644 Apps/ark-suac/ark-survival-ascended-linux-container-image/config.sh create mode 100644 Apps/ark-suac/ark-survival-ascended-linux-container-image/docker-compose.dev.yml create mode 100644 Apps/ark-suac/ark-survival-ascended-linux-container-image/docker-compose.yml create mode 100644 Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/bin/cli-asa-mods create mode 100644 Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/bin/start_server create mode 100644 Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/Gemfile create mode 100644 Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/Gemfile.lock create mode 100644 Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/cli/interfaces/cli_interface.rb create mode 100644 Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/cli/interfaces/mods_interface.rb create mode 100644 Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/cli/interfaces/rcon_interface.rb create mode 100644 Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/cli/utils.rb create mode 100644 Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/errors/base_error.rb create mode 100644 Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/errors/errors.rb create mode 100644 Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/errors/mod_already_enabled_error.rb create mode 100644 Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/errors/rcon_authentication_error.rb create mode 100644 Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/errors/rcon_password_not_found_error.rb create mode 100644 Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/errors/rcon_port_not_found_error.rb create mode 100644 Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/exit_codes.rb create mode 100644 Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/helpers/helpers.rb create mode 100644 Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/helpers/ini_config_helper.rb create mode 100644 Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/helpers/start_params_helper.rb create mode 100755 Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/main.rb create mode 100644 Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/mods/database.rb create mode 100644 Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/rcon/rcon.rb create mode 100644 Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/proton/GE-Proton10-17.sha512sum create mode 100644 Apps/ark-suac/docker-compose.yaml delete mode 160000 Apps/ark-survival-ascended-linux-container-image diff --git a/AGENTS.md b/AGENTS.md index 5e9f927..6700c88 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -18,6 +18,7 @@ Fokus: korrekthet, låg risk och underhållbarhet. - Compose ska ha giltig top-level `name` (gemener + bindestreck). - Om `container_name` används måste den vara max 32 tecken och bara innehålla `0-9`, `a-z`, `A-Z`, `_`, `-`. - Endast `.yaml` används i repot (aldrig `.yml`). +- Swap-filer (t.ex. `*.swp`, `*.swo`) ska alltid ignoreras och får aldrig committas. ## 3) Säkerhetsbaseline (Compose) diff --git a/Apps/_template/docker-compose.yaml b/Apps/_template/docker-compose.yaml index ec60ca4..9b4e2a2 100644 --- a/Apps/_template/docker-compose.yaml +++ b/Apps/_template/docker-compose.yaml @@ -54,8 +54,8 @@ x-casaos: - arm64 main: app category: phirna - author: Zima Apps Team - developer: example + author: Joachim Friberg + developer: Joachim Friberg icon: https://cdn.simpleicons.org/docker tagline: en_US: Replace with a short one-line value proposition diff --git a/Apps/ark-suac/README.md b/Apps/ark-suac/README.md new file mode 100644 index 0000000..5d7b3f4 --- /dev/null +++ b/Apps/ark-suac/README.md @@ -0,0 +1,124 @@ +# ARK: Survival Ascended Server + +ARK: Survival Ascended dedicated server container for ZimaOS. + +## Overview + +This app provides a dedicated server for ARK: Survival Ascended, allowing you to host your own game server with automatic updates and remote administration capabilities. + +## Features + +- **Automatic Updates**: Server files are automatically updated on startup +- **Cluster Support**: Configure multiple servers to work together +- **Remote Administration**: RCON access for server management +- **Customizable**: Adjust game parameters, player limits, and maps +- **Secure by Default**: Runs with minimal privileges and capabilities + +## Configuration + +### Ports + +- **7777/udp**: Game port for player connections +- **27020/tcp**: RCON port for remote server administration + +### Volumes + +All volumes are mounted under `/DATA/AppData/ark-survival-ascended/`: + +- `steam`: Steam runtime files +- `steamcmd`: SteamCMD installation +- `server-files`: ARK server files and save data +- `cluster-shared`: Shared data for cluster setups + +### Environment Variables + +- `TZ`: Timezone (default: Europe/Stockholm) +- `ASA_START_PARAMS`: Server start parameters and map configuration +- `ENABLE_DEBUG`: Set to "1" to enable debug mode (prevents server startup) + +## Security + +### Baseline Security + +- Runs as non-root user `gameserver` +- All capabilities dropped (`cap_drop: ALL`) +- `no-new-privileges` security option enabled +- No privileged mode required +- No Docker socket access + +### Data Persistence + +All game data, including server files, save games, and configuration, is persisted in the bound volumes. The container will automatically download and update server files on startup. + +## Usage + +### First Start + +1. Install the app through ZimaOS App Store +2. Configure desired map and settings via `ASA_START_PARAMS` +3. Start the container - first startup will download ~11GB of server files +4. Connect to your server via the ARK game client + +### Map Configuration + +Change the map by modifying `ASA_START_PARAMS`. Example maps: + +- `TheIsland_WP` (default) +- `ScorchedEarth_WP` +- `Ragnarok_WP` +- `Valguero_WP` + +### Cluster Setup + +For multi-server clusters: + +1. Use the same `clusterid` parameter for all servers +2. Share the `cluster-shared` volume between containers +3. Configure different ports for each server instance + +### Remote Administration + +Connect to RCON on port 27020 using tools like: + +- [ARK Server API](https://ark-server-api.com/) +- [Battlemetrics RCON](https://www.battlemetrics.com/rcon) +- Command line: `nc hostname 27020` + +## Performance Requirements + +- **RAM**: ~13GB per server instance +- **Disk**: ~11GB for server files + space for save games +- **CPU**: Modern multi-core processor recommended + +## Updates + +Server files are automatically updated on container startup. To update the container image itself, pull the new version through ZimaOS. + +## Troubleshooting + +### Server Not Visible + +- Verify port 7777/udp is properly forwarded +- Check firewall settings +- Ensure `ASA_START_PARAMS` includes `?listen` parameter + +### Connection Timeouts + +- Verify your network configuration +- Check that UDP traffic is not being blocked +- Ensure the server has completed initialization (can take several minutes) + +### Debug Mode + +Set `ENABLE_DEBUG=1` to prevent server startup and investigate container issues. + +## References + +- [Upstream Repository](https://github.com/mschnitzer/asa-linux-server) +- [ARK Official Website](https://survivetheark.com/) +- [SteamCMD Documentation](https://developer.valvesoftware.com/wiki/SteamCMD) + +## Support + +For issues specific to this ZimaOS integration, please contact the Zima Apps Team. +For game server issues, refer to the upstream repository or ARK official support. \ No newline at end of file diff --git a/Apps/ark-suac/ark-survival-ascended-linux-container-image/.gitattributes b/Apps/ark-suac/ark-survival-ascended-linux-container-image/.gitattributes new file mode 100644 index 0000000..92fe2f4 --- /dev/null +++ b/Apps/ark-suac/ark-survival-ascended-linux-container-image/.gitattributes @@ -0,0 +1 @@ +root/usr/share/proton/GE-Proton8-21.tar.gz filter=lfs diff=lfs merge=lfs -text diff --git a/Apps/ark-suac/ark-survival-ascended-linux-container-image/Makefile b/Apps/ark-suac/ark-survival-ascended-linux-container-image/Makefile new file mode 100644 index 0000000..a0a74ef --- /dev/null +++ b/Apps/ark-suac/ark-survival-ascended-linux-container-image/Makefile @@ -0,0 +1,20 @@ +.PHONY: prepare build build-development build-beta load + +GLOBAL_BUILD_DIR = /tmp/.kiwi-build-results +TARGET_DIR = $(GLOBAL_BUILD_DIR)/ark-survival-ascended-linux-container-image + +prepare: + - sudo rm -rf $(TARGET_DIR) + - mkdir -p $(GLOBAL_BUILD_DIR) + +build: prepare + - sudo kiwi-ng --profile stable --color-output --debug system build --target-dir $(TARGET_DIR) --description . + +build-development: prepare + - sudo kiwi-ng --profile development --color-output --debug system build --target-dir $(TARGET_DIR) --description . + +build-beta: prepare + - sudo kiwi-ng --profile beta --color-output --debug system build --target-dir $(TARGET_DIR) --description . + +load: + - sudo docker load -i $(TARGET_DIR)/*.xz diff --git a/Apps/ark-suac/ark-survival-ascended-linux-container-image/README.md b/Apps/ark-suac/ark-survival-ascended-linux-container-image/README.md new file mode 100644 index 0000000..3d3d3ab --- /dev/null +++ b/Apps/ark-suac/ark-survival-ascended-linux-container-image/README.md @@ -0,0 +1,592 @@ +# ARK: Survival Ascended - Dedicated Linux Server - Docker Image + +This repository provides a step by step guide for Linux administrators to host ARK: Survival Ascended servers on Linux using a docker image. + +## Table of Contents + +* [Hardware Requirements](#hardware-requirements) +* [Installation](#installation) + * [Install Docker & Docker Compose](#1-install-docker--docker-compose) + * [Start docker daemon](#2-start-docker-daemon) + * [Create the Docker Compose config](#3-create-the-docker-compose-config) + * [First server start](#4-first-server-start) + * [Server configuration](#5-server-configuration) + * [Changing the start parameters AND the player limit](#6-changing-the-start-parameters-and-the-player-limit) +* [Port forwarding?](#port-forwarding) +* [Changing the game port and RCON port](#changing-the-game-port-and-rcon-port) +* [Start/Restart/Stop](#startrestartstop) +* [Server Administration](#server-administration) + * [Debug Mode](#debug-mode) + * [Applying server updates](#applying-server-updates) + * [Daily restarts](#daily-restarts) + * [Executing RCON commands](#executing-rcon-commands) +* [Setting up a second server / cluster](#setting-up-a-second-server--cluster) +* [Adding Mods](#adding-mods) + * [Adding Mod Maps](#adding-mod-maps) +* [Adding Plugins](#adding-plugins) +* [Map Names](#map-names) +* [Updating the Container Image](#updating-the-container-image) +* [Common Issues](#common-issues) + * [Server is not visible in server browser](#server-is-not-visible-in-server-browser) +* [Addressing "Connection Timeout" issues](#addressing-connection-timeout-issues) + * [Your server has multiple IPv4 addresses](#your-server-has-multiple-ipv4-addresses) + * [Debugging with curl](#debugging-with-curl) + * [How to customize your routing?](#how-to-customize-your-routing) + * [Making your iptable rules persistent](#making-your-iptable-rules-persistent) +* [Found an Issue or Bug?](#found-an-issue-or-bug) +* [Credits](#credits) + +## Hardware Requirements + +The hardware requirements might change over time, but as of today you can expect: + +* ~13 GB RAM usage per server instance +* ~11 GB disk space (the server files alone, without any savegames) + +I cannot tell you what CPU to use, as I didn't do any testing on this, but this is the hardware I'm running one ASA server on: + +* Intel Xeon E3-1275v5 +* 2x SSD M.2 NVMe 512 GB +* 4x RAM 16384 MB DDR4 ECC + +The server runs next to other services and it runs pretty well. + +## Installation + +Required Linux experience: **Beginner** + +In theory, you can use these steps on any Linux system where Docker is installed. It has been tested with: + +* openSUSE Leap 15.6 (>= 16.0 won't work due to missing 32bit support) +* Debian 12 (bookworm) +* **NOT WORKING:** Ubuntu 22.04.x LTS (Jammy Jellyfish) [As of March 28th 2025, a recent distro update causes the container to have a constant high CPU usage, well beyond 400% and the server won't launch. Use Ubuntu 24.04.x if you can] +* Ubuntu 24.04.1 (Noble Numbat) + +You need to be root user (`su root`) to perform these steps, but don't worry, the ASA server itself will run rootless. + +### 1. Install Docker & Docker Compose + +#### openSUSE Leap 15.6: + +``` +zypper in -y docker docker-compose +``` + +#### Debian 12 + +It is recommended to install the docker engine from Docker's official repository. Follow the instructions in [this guide](https://docs.docker.com/engine/install/debian/#install-using-the-repository) +and refer to the "Install using the apt repository" section. + +#### Ubuntu (24.04.x): + +The docker engine is not part of the official Ubuntu 24.x repositories, thus you need to install it from the Docker's repository instead. Please refer to +[this guide](https://docs.docker.com/engine/install/ubuntu/#install-using-the-repository) and follow the steps outlined in the "Install using the apt repository" section. + +### 2. Start docker daemon + +``` +systemctl start docker +systemctl enable docker +``` + +### 3. Create the Docker Compose config + +Create a directory called `asa-server` wherever you like and download [my docker-compose.yml](https://github.com/mschnitzer/ark-survival-ascended-linux-container-image/blob/main/docker-compose.yml) example. + +``` +mkdir asa-server +cd asa-server +wget https://raw.githubusercontent.com/mschnitzer/ark-survival-ascended-linux-container-image/main/docker-compose.yml +``` + +### 4. First server start + +Now start the server for the first time. It will install Steam, Proton, and downloads the ARK: Survival Ascended server files. + +Go to the directory of your `docker-compose.yml` file and execute the following command: + +``` +docker compose up -d +``` + +It will download my docker image and then spins up a container called `asa-server-1` (defined in `docker-compose.yml`). You can follow the installation and the start of your server by running: + +``` +docker logs -f asa-server-1 +``` + +(Note: You can safely run `CTRL + C` to exit the log window again without causing the server to stop) + +Once the log shows the following line: + +``` +Starting the ARK: Survival Ascended dedicated server... +``` + +... the server should be reachable and discoverable through the server browser in ~2-5 minutes. + +The server name is randomly generated upon the first start. Please execute the following command to see under which name the server is discoverable in the server browser: +``` +docker exec asa-server-1 cat server-files/ShooterGame/Saved/Config/WindowsServer/GameUserSettings.ini | grep SessionName +``` + +If the command fails in execution and reports an `No such file or directory` error, just wait some more minutes and it should eventually work. Once the command executed successfully, it should output something like this: +``` +SessionName=ARK #334850 +``` + +Now try to find the server by its name. Just search in the "Unofficial" section in ASA for the number of the server. In my case it is `334850`. If you are not able to connect to it right away, wait up to 5 more minutes and +try it again. If it's still not possible, [open an issue on GitHub](https://github.com/mschnitzer/ark-survival-ascended-linux-container-image/issues/new) to get help. + +Once confirmed that you are able to connect, stop the server again: + +``` +docker stop asa-server-1 +``` + +### 5. Server configuration + +The `docker-compose.yml` config defines three docker volumes, which serve as a storage for your server files, Steam, and Proton. They are directly mounted to the docker container and can be edited outside of the container. The +location of these volumes is `/var/lib/docker/volumes`. If you followed the steps 1:1, then you should find the following directories at that location: + +``` +asa-server_cluster-shared/ +asa-server_server-files-1/ +asa-server_steam-1/ +asa-server_steamcmd-1/ +``` + +The prefix `asa-server` is defined by the directory name of your `docker-compose.yml` file. + +You can ignore `asa-server_steam-1` and `asa-server_steamcmd-1`, these volumes are being used by the container to avoid setting up `Steam` and `steamcmd` on every launch again. Server files including config files are stored at `asa-server_server-files-1`. `asa-server_cluster-shared` provides support for server clusters, so that survivors can travel between your servers with their characters and dinos. + +The `GameUserSettings.ini` and `Game.ini` file can be found at `/var/lib/docker/volumes/asa-server_server-files-1/_data/ShooterGame/Saved/Config/WindowsServer`. The `Game.ini` file is not there by default, so you might want to create it yourself. + +You don't need to worry about file permissions. The `docker-compose.yml` is running a container before starting the ASA server and adjusts the file permissions to `25000:25000`, which is the user id and group id the server starts with. These ids are not bound to any user on your system and that's fine and not an issue. + +### 6. Changing the start parameters AND the player limit + +Start parameters are defined in the `docker-compose.yml`: + +```yml +... + environment: + - ASA_START_PARAMS=TheIsland_WP?listen?Port=7777?RCONPort=27020?RCONEnabled=True -WinLiveMaxPlayers=50 +... +``` + +Please note: +* The value before `?listen` is the name of the map the server launches with. ([See all official map names](#map-names)) +* Please do not remove `?listen` from the parameters, otherwise the server is not binding ports +* `?Port=` is the server port players connect to +* `?RCONPort=` is the port of the RCON server that allows remote administration of the server +* The player limit is set by `-WinLiveMaxPlayers`. Please note that for ASA servers, editing the player limit via `GameUserSettings.ini` is not working. + +## Port forwarding? + +There should not be the need to forward any ports if your server runs in a public cloud. This is because docker configures `iptables` by itself. In a home setup, where a router is in between, it is very likely that you need to forward ports. + +In any case, you ONLY need to forward the following ports: + +``` +7777 (UDP only - This is the game port to allow players to connect to the server) +27020 (TCP only - This is the port to connect through RCON and is therefore optional to forward) +``` + +As of today, ASA does no longer offer a way to query the server, so there's no query port and you won't be able to find your server through the Steam server browser, only via the ingame browser. + +## Changing the game port and RCON port + +You already learned that ports are defined by `ASA_START_PARAMS` in the `docker-compose.yml` file. This just tells the ASA server what ports to bind. +As a first step for port changes adjust the start parameters accordingly. + +E. g. if you want to change the game port from `7777` to `7755` your new start parameters would look like this: + +```yml +... + environment: + - ASA_START_PARAMS=TheIsland_WP?listen?Port=7755?RCONPort=27020?RCONEnabled=True -WinLiveMaxPlayers=50 -clusterid=default -ClusterDirOverride="/home/gameserver/cluster-shared" + - ENABLE_DEBUG=0 +... +``` + +But this alone is not enough and you need to apply the following changes as well. + +Open the `docker-compose.yml` file again and edit the lines where the container ports are defined: + +```yml +... + ports: + # Game port for player connections through the server browser + - 0.0.0.0:7777:7777/udp + # RCON port for remote server administration + - 0.0.0.0:27020:27020/tcp +... +``` + +Adjust the port to your liking, but make sure that you change both numbers (the one before and after the `:`). Assuming the above game port changes to `7755` this would be the result: + +```yml +... + ports: + # Game port for player connections through the server browser + - 0.0.0.0:7755:7755/udp + # RCON port for remote server administration + - 0.0.0.0:27020:27020/tcp +... +``` + +Now that your port changes are set, you have to recreate your container. Therefore you need to use `docker compose up -d` in order to apply your port changes. + + +## Start/Restart/Stop + +To perform any of the actions, execute the following commands (you need to be in the directory of the `docker-compose.yml` file): + +``` +docker compose start asa-server-1 +docker compose restart asa-server-1 +docker compose stop asa-server-1 +``` + +You can also use the native docker commands, where you do not need to be in the directory of the `docker-compose.yml` file. However using this method would not check for changes in your `docker-compose.yml` file. +So in case you edited the `docker-compose.yml` file (e.g. because you adjusted the start parameters), you need to use `docker compose` commands instead. +``` +docker start/restart/stop asa-server-1 +``` + +## Server Administration + +### Debug Mode + +Sometimes you want to test something inside the container without starting the ASA server. The debug mode can be enabled by changing `- ENABLE_DEBUG=0` to `1` in the `docker-compose.yml` file. +Once done, the result will look like this: + +```yml +... +version: "3.3" +services: + asa-server-1: + container_name: asa-server-1 + hostname: asa-server-1 + entrypoint: "/usr/bin/start_server" + user: gameserver + image: "mschnitzer/asa-linux-server:latest" + environment: + - ASA_START_PARAMS=TheIsland_WP?listen?Port=7777?RCONPort=27020?RCONEnabled=True -WinLiveMaxPlayers=50 + - ENABLE_DEBUG=1 +... +``` + +Now run `docker compose up -d` and the container will just start without launching the server or validating server files. + +Check if the container launched in debug mode by running `docker logs -f asa-server-1` and check whether it's saying "Entering debug mode...". If that's the case, you are good. + +You can enter the shell of your server by running + +``` +docker exec -ti asa-server-1 bash +``` + +If you need root access run + +``` +docker exec -ti -u root asa-server-1 bash +``` + +### Applying server updates + +Updates will be automatically downloaded or applied once you restart the container with ... + +``` +docker restart asa-server-1 +``` + +It is totally possible that after a restart and applying all updates, the client is still one or more versions ahead. This is because Wildcard does sometimes run client-only updates, since not all +updates are affecting the server software. This is not a problem at all. As long as you can connect to your server, everything is fine. The server software checks for incompatible client +versions anyway. + +In general you can check when the latest server update was published by Wildcard, by checking [this link](https://steamdb.info/app/2430930/depots/). The section mentioning the last update of the `public` branch +tells you when the last update was rolled out for the server software. + +If you have any doubts on this, open a GitHub issue. + +### Daily restarts + +As `root` user of your server (or any other user that is member of the `docker` group) open your crontab configuration: + +``` +crontab -e +``` + +Add the following lines to it: +``` +30 3 * * * docker exec asa-server-1 asa-ctrl rcon --exec 'serverchat Server restart in 30 minutes' +50 3 * * * docker exec asa-server-1 asa-ctrl rcon --exec 'serverchat Server restart in 10 minutes' +57 3 * * * docker exec asa-server-1 asa-ctrl rcon --exec 'serverchat Server restart in 3 minutes' +58 3 * * * docker exec asa-server-1 asa-ctrl rcon --exec 'saveworld' +0 4 * * * docker restart asa-server-1 +``` + +Explanation: +* Line 1: Every day at 03:30am of your server's timezone, a message will be sent to all players announcing a restart in 30 minutes. +* Line 2: Every day at 03:50am of your server's timezone, a message will be sent to all players announcing a restart in 10 minutes. +* Line 3: Every day at 03:57am of your server's timezone, a message will be sent to all players announcing a restart in 3 minutes. +* Line 4: Every day at 03:58am of your server's timezone, the server saves the world before the restart happens. +* Line 5: Every day at 04:00am of your server's timezone, the ASA server gets restarted and installs pending updates from Steam. + +Read more about the crontab syntax [here](https://www.adminschoice.com/crontab-quick-reference). + +**NOTE:** The first 4 lines execute RCON commands, which requires you to have a working RCON setup. Please follow the instructions in section "[Executing RCON commands](#executing-rcon-commands)" to +ensure you can execute RCON commands. + +### Executing RCON commands + +You can run RCON commands by accessing the `rcon` subcommand of the `asa-ctrl` tool which is shipped with the container image. There's no need to enter your server password, IP, or RCON port manually. As long as +you have set your RCON password and port, either as a start parameter or in the `GameUserSettings.ini` file of your server, `asa-ctrl` is able to figure those details out by itself. + +The following variables need to be present in `GameUserSettings.ini` under the `[ServerSettings]` section: + +``` +RCONEnabled=True +ServerAdminPassword=mysecretpass +RCONPort=27020 +``` + +**NOTE:** There can be issues setting `ServerAdminPassword` as command line option. I'd suggest to set it in the `GameUserSettings.ini` file only. + +Example: + +``` +docker exec -t asa-server-1 asa-ctrl rcon --exec 'saveworld' +``` + +**NOTE:** As opposed to ingame cheat commands, you must not put `admincheat` or `cheat` in front of the command. + +## Setting up a second server / cluster + +Setting up a second server is quite easy and you can easily add more if you want (given that your hardware is capable of running multiple instances). There's already a definition for a second server in the `docker-compose.yml` file, +but the definition is commented out by a leading `#`. If you remove these `#`, and run `docker compose up -d` again, then the second server should start and it will listen on the game port `7778` and the query port `27021`. Please note that +the server files, as well as Steam, and steamcmd will be downloaded again and the first start can take a while. + +You can edit the start parameters in the same way like for the first server and the files of the second server are located at the same location, except that the second server has its suffix changed from `-1` to `-2`. The directories will therefore, +named like this: + +``` +asa-server_server-files-2/ +asa-server_steam-2/ +asa-server_steamcmd-2/ +``` + +That's it! Your second server is now running in a cluster setup. This means that travelling between your servers is possible through Obelisks. If you do not want players to travel between your servers, you need to remove the `-clusterid` option +from the start parameters. It's advised to change the `-clusterid` parameter for all of your servers to a random string and keep it secret (e.g. `-clusterid=aSM42F6PLaPk` as opposed to `-clusterid=default`). The reason for that is that you will +end up seeing also other servers from the community that use `default` as their `clusterid`. If you only want players to travel between your own servers, then the `clusterid` must be different. + +If you want to spin up more servers, you need to add more entries to the `docker-compose.yml` file. The following sections need to be edited: `services` and `volumes`. Make sure that you adjust all suffixes and replace them with a new one +(e.g. `-3` now) for the newly added entries. + +## Adding Mods + +Mods can be added by adjusting the `docker-compose.yml` file and adding a `-mods` option to the start parameters. + +e.g. + +``` +[...] +- ASA_START_PARAMS=TheIsland_WP?listen?Port=7777?RCONPort=27020?RCONEnabled=True -WinLiveMaxPlayers=50 -mods=12345,67891 +[...] +``` + +Once done, restart the server using `docker compose up -d`. It might take longer until the server comes up, because the server has to download the mods first. + +Mod IDs are usually somewhere listed on the mod page of a mod on curseforge.com. + +### Adding Mod Maps + +Search for a map on curseforge.com and find out what mod id the map has and what the map name is. For the map [Svartalfheim](https://www.curseforge.com/ark-survival-ascended/mods/svartalfheim) the map name +is `Svartalfheim_WP` and the mod id is `893657`. + +Once you found out the information you need, you need to adjust your start parameters in the `docker-compose.yml` file and add the map name, as well as the `-mods` option. + +e.g. + +``` +[...] +- ASA_START_PARAMS=Svartalfheim_WP?listen?Port=7777?RCONPort=27020?RCONEnabled=True -WinLiveMaxPlayers=50 -mods=893657 +[...] +``` + +Restart your server using `docker compose up -d`. It may take a while, as the server has to download the map, so be patient. + +## Adding Plugins + +Plugin support was introduced by version 1.4.0 of this container image. So make sure that you updated to the latest version of the container image or to version 1.4.0 as described [here](#updating-the-container-image). + +There's a project ([see here](https://gameservershub.com/forums/resources/ark-survival-ascended-serverapi-crossplay-supported.683/)) that allows you to load plugins on your server (e.g. permission handling). To install the plugin loader, please visit [gameservershub.com](https://gameservershub.com/forums/resources/ark-survival-ascended-serverapi-crossplay-supported.683/) and refer to the "ServerAPI Installation Steps" section and download the zip archive. A `gameservershub.com` account is required in order to download the plugin loader. + +When the download of the zip archive is completed, follow these steps to install the plugin loader: + +1. Make sure that you launched the ASA server at least once without the plugin loader. +2. Stop the ASA server container by running `docker stop asa-server-1` +3. Enter the server files binary directory as `root` user: `cd /var/lib/docker/volumes/asa-server_server-files-1/_data/ShooterGame/Binaries/Win64` +4. Place the downloaded zip archive in that directory (the name of the archive must start with `AsaApi_`). Do not unzip the content. +5. Restart your server using `docker compose up -d` + +The installation happens automatically by the container start script. You can follow the installation process by running `docker logs -f asa-server-1`. Once the log says "Detected ASA Server API loader. Launching server through AsaApiLoader.exe", +the installation is complete. In the following log lines your should see the start process of the plugin loader. + +How to install plugins is described on gameservershub.com, from which you obtained the plugin loader. Please refer to their guide instead. + +## Map Names + +This is a list of all official map names with their map id. The map id is used as start parameter in the `docker-compose.yml` file. ([click](#6-changing-the-start-parameters-and-the-player-limit)) + +| Map Name | Map ID (for the start parameter) | +| ------------- | ------------- | +| The Island | TheIsland_WP | +| Scorched Earth | ScorchedEarth_WP | +| The Center | TheCenter_WP | +| Aberration | Aberration_WP | +| Extinction | Extinction_WP | +| Ragnarok | Ragnarok_WP | +| Astraeos | Astraeos_WP | +| Valguero | Valguero_WP | +| Lost Colony | LostColony_WP | + +**NOTE:** Mod Maps have their own id! ([click](#adding-mod-maps)) + +## Updating the Container Image + +The container image will be updated from time to time. In general, we try to not break previous installations by an update, but to add certain features, it might be necessary to introduce backward incompatibilities. +The default `docker-compose.yml` file suggests to use the `latest` branch of the container image. If you want to stay on one specific version, you can force the container image to launch with that said version, by +changing `image: "mschnitzer/asa-linux-server:latest"` in your `docker-compose.yml` file (as outlined below) to whatever version suits you. A list of all versions can be +found [here](https://hub.docker.com/r/mschnitzer/asa-linux-server/tags). + +For example: + +If you want to stay on version `1.4.0` for your ASA server, you must change `image: "mschnitzer/asa-linux-server:latest"` to `image: "mschnitzer/asa-linux-server:1.4.0"`. + +Even if you stay on branch `latest`, your container image won't be updated automatically if we roll out an update. You explicitly need to run `docker pull mschnitzer/asa-linux-server:latest` to obtain the newest version. + +We strongly suggest to read through the [releases page](https://github.com/mschnitzer/ark-survival-ascended-linux-container-image/releases) of this repository to see what has changed between versions. If there's +a backward incompatibility being introduced, it will be mentioned there with an explanation what to change. + +## Common Issues + +### Server is not visible in server browser + +If you cannot discover your server in the server browser, it's most likely due to at least one of the following reasons: + +* Your server is still booting up, give it ~5 minutes +* You are not looking at the "Unofficial" server browser list +* Your filter settings in the server browser exclude your server +* You forgot clicking the "Show player server settings". ([view screenshot](https://raw.githubusercontent.com/mschnitzer/ark-survival-ascended-linux-container-image/main/assets/show-player-servers.jpg)) By default, only Nitrado servers are shown to players when searching for unofficial servers, unfortunately. + +## Addressing "Connection Timeout" issues + +First of all, try to connect through the ingame console to your server. In many cases this works, but only connecting through the server browser causes an issue. Try to run the command `open $IP:$PORT` and test whether you +can connect to it. + +If that is NOT working and you are having a home setup and not a VPS cloud setup, make sure your ports are REALLY open. This needs to be configured on your router. The ports that need to be opened are listed above in this README. +Please refer to the documentation of your router how to configure port forwarding properly. + +If you can connect to your server through the console command, but not via the sever browser, it is very likely that you are running into one of these issues: + +### Your server has multiple IPv4 addresses + +If your server has multiple IPv4 addresses and you bound your ASA server to one of the secondary ones, by default, docker routes your traffic always through your primary network interface, which would cause the server browser to list your +server under the wrong IP address. + +For example: + +Your primary IP is: `255.255.300.300` +Your secondary one is: `255.255.400.400` + +You adjusted the `docker-compose.yml` file in a way where it binds the ports on interface `255.255.400.400`. However, if your ASA server communicates with the internet and announces itself to the ASA server list, the ASA master server that manages the +server browser entries, would see the requests coming from `255.255.300.300` as this is your primary network interface. + +This issue can be solved by forcing the traffic to be routed manually through your secondary network interface. + +But before we start fixing it, you should make sure that this is really the issue. + +#### Debugging with curl + +1. Log in to the container `docker exec -ti -u root asa-server-1 bash` +2. Run `zypper --no-gpg-checks ref` +3. Install curl `zypper in -y curl` +4. Run `curl icanhazip.com` (`icanhazip.com` is a service that tells you from what ip address it received traffic from) + +If the service responds with an IP that you have not assigned to the ASA server in the `docker-compose.yml` file, then it's very likely that this is the reason why you are getting a "Connection Timeout" error. +Please continue following the instructions below. + +#### How to customize your routing? + +You need to adjust the `docker-compose.yml` file and add `com.docker.network.bridge.enable_ip_masquerade: 'false'` to the `networks` section, so that it looks like this: + +```yml +networks: + asa-network: + attachable: true + driver: bridge + driver_opts: + com.docker.network.bridge.name: 'asanet' + com.docker.network.bridge.enable_ip_masquerade: 'false' +``` + +Now stop the ASA server if it's running: + +``` +docker stop asa-server-1 +``` + +Delete the docker network interface and the container, so that they can be recreated: + +``` +docker rm asa-server-1 +docker network rm asa-server_asa-network +``` + +Now run `docker compose up -d` from within the directory where your `docker-compose.yml` is located at. + +Once done and the container is up again, inspect the network to find its subnet: + +``` +docker network inspect asa-server_asa-network | grep Subnet +``` + +Now customize the routing of the container through `iptables`, where `$SUBNET` needs to be replaced with the subnet from the previous command (including the `/24` or `/16` - whatever it is in your case): + +``` +iptables -t nat -A POSTROUTING -s $SUBNET ! -o asanet -j SNAT --to-source $YOUR_SECONDARY_IP_USED_BY_ASA +``` + +Once done, connect to your container and test that the remote IP is the right one, by following the steps with `curl` again. + +Now try to connect to your server through the server browser. If that is not solving your problem or if the IP is still the wrong one, open a GitHub issue. If it solves your problem, continue with the +next section to make the `iptables` adjustments persistent after reboot. + +#### Making your iptable rules persistent + +Changes to the `iptables` will get reverted after reboot. You can make them persistent by saving the current state: + +``` +iptables-save > /root/iptables +``` + +Now run `crontab -e` and add the following entry: + +``` +@reboot /bin/bash -c 'sleep 15 ; /usr/sbin/iptables-restore < /root/iptables' +``` + +Save the cronjob and test it by rebooting your system. You can test whether it has worked by following the `curl` steps from above again. + +## Found an Issue or Bug? + +Create a ticket on GitHub, I will do my best to fix it. Feel free to open a pull request as well. + +## Credits + +* Glorius Eggroll - For his version of Proton to run the ARK Windows binaries on Linux ([click](https://github.com/GloriousEggroll/proton-ge-custom)) +* cdp1337 - For his Linux guide of installing Proton and running ARK on Linux ([click](https://github.com/cdp1337/ARKSurvivalAscended-Linux)) +* tesfabpel - For his Valve RCON implementation in Ruby ([click](https://github.com/tesfabpel/srcon-rb)) diff --git a/Apps/ark-suac/ark-survival-ascended-linux-container-image/appliance.kiwi b/Apps/ark-suac/ark-survival-ascended-linux-container-image/appliance.kiwi new file mode 100644 index 0000000..241f7e1 --- /dev/null +++ b/Apps/ark-suac/ark-survival-ascended-linux-container-image/appliance.kiwi @@ -0,0 +1,91 @@ + + + + Manuel Schnitzer + github@mschnitzer.de + ARK: Survival Ascended - Dedicated Server (Linux) + + + + + + + + 1.5.1 + zypper + true + false + en_US + us + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Apps/ark-suac/ark-survival-ascended-linux-container-image/assets/show-player-servers.jpg b/Apps/ark-suac/ark-survival-ascended-linux-container-image/assets/show-player-servers.jpg new file mode 100644 index 0000000000000000000000000000000000000000..897b28bf066412f4b9638f5c187b9685069b8e29 GIT binary patch literal 232542 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�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%0Ai9b+gILclktv>$OLp*Q?+z0- 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⁢UZpKDAVBt5U#9(x(|E!H0E zFItQdqM}Iz56YbzIONw^f@FR3ybg9ik7wUb!9fPW7ysO6)=cP;zNH?m5 ze&mOl8PkN?Ax9x)U|rYxU9&;~Kx2C7q4qHm#A{dT?**z@F^}atku%ih2A~qw^p-t^ z#l^eR2kx{lE=fV^)w^S-5-awaT|L;mz4=jjSzl2iGwI7aK_rt0lDMr#b|e!&XM01v zCrf1(wH&{zG;;)`7dj-W*UB28#S?J~pc^Ql=XcJnIHl8n9KL13^PZL@H9yN0BfbS+ zs>;g3q}e~`8QoJvrwYDvP1mx`;*Qox@Z}wm^@Q;=5!&-L)`f`$S{lcl8@`OMKMSM7 zTuuy$`zPow8k@LDs&mPB%y4Q=#8`>am_dLIcc|oitR=CN3BD0K*!o(3#=OM7PC0MI zKdA%Lk+e6lsKlAG>2XIhiD_k48|NY@9?Oup75+6zb$MGcvF)HPZqeQ^R<5nSv0XV!{V(Qp@UQsU6y_VXdz`;$#ygGhSPEXu z9x*AzpF(kcEz*(%Fif)>(Jk`ZA@qI6Uj4^wR{*I(_Gd@`XgfaToVVq+slIGJ{N1K@ zg?G^T1h#DN4(Ve??PF`oV-9h9SnD!Thx6)GZ8$Z(N>FUZqb`(Il6sF-Y47I>6Vih^ z${fMb4=M6#lx?34v^1e>$zby4VmJ3SEwLN26UTL-zj3=8fs1+$co_}{EX0LjwCbh! zP&%1rov}?ivNmo9O5!LS9tS$Lk~c~wsyni8Mx9hTSlmjCe+W2MYC=AR>>j=5I!M)I z;5N`ooH{nthE^#&SCMr1np((Wd{FGyR9(DJeOS{xeGY zE+w$2?|R2sPaBOym^hz1l(rePopYBkl29)TF8K*#l4bLxuXM+F)2OkG-UayP{YehI z-Ko$`Xmq&xz$&|l%QI=V{hybE)h_;P-A)nol^rU-nrrPzZN_6xybzb$Pmam0&%XWV z36vW@=z}hU=@ct5tl!CSbsSYLJF38~i$Mu+Kd9Ln+CnfkV{MuwUmPsn!tNXPn# zY~{x6Q?-_9x-UkrRQlQKQkg_V9^}%%anbAyT}PR*?AS1~UAqPqwv#=DM(91#BpYO^ zP;mXCQfm$#`ax&!ktUTR-!TkAXP3a)SlEc1!4zcM+K~c`22ebcYu-gG}=Dpi@BlWOxx$~O5My2?T-l^D`tn)hhuIr zh>Qz=4sbCvBY)-e-Gmlh=sFJC6L{73)c^-TY!T6b4EliKyt}`tx{WHw?d?4ThsyP2 zrln_o4F*;9qhV^QlK8&KM8sIz6!7m)*K|NB2yYZ?6<)+eZta`}z#%IDT$KGRV$xG| zH;ZO|bXhTRRk(4kBvDJ#hu6#0jNmSS#H>DAIBSgSEornv)j@^=bSsfco~b3Gq5c^) zodPL$ko6AeEwVZe{^(r;U!renm|2j|9A6-n@2S$Ar?O6zplrs|Rj~T_NfZIL_O}{H zGkoupqgdm_H)#yb6YAY5jFneP)A7DTxQQbC81`K=Cyh(ZCEo# zm=gBdY`3|5+~&us@Yc4@n!xKn7$%%)jqc2euLQKo zU=E;k*+ph_e%`w;t3y3RMd&sw^ifD`&URaGL(v znF~hqt@1aYh@ko&=V;_ieF?Ch!Yuhw*R4P5Vf&79Na0dIFVe~8nkrh}aOV}H*UJdK z*;t+LT|+&c&*Gqe(X{wv$19>%lXFg`2LTh)pwy=ttieVub<6leTKt@-h> z3Uro^PDSU$)bwOQ5h9HA5f0PTsk=xSZ)U;{$IzI_X$IlD=U|O_wjR=xpW|I>dt^zz zaVcBE6{^j^BL)9nGTxc4$K|XtGfu7ox4Wc|VKwx#5;VGgl4mou1>qDUK7h|f_&QWq zz+~KtTr(U)vA;iTXZv_yMQtb4{>vufvbG>0^#6@pUg%Sf&nMTKS8_7k#od4<)>A1_ zwCa9UNJ!K_HD~EV1_#_P$(|VRNC<$^^mGknP`TyO(+bXXS89TUu8*{W zH79U#Tn%$o9@+euuzc0`n@dCIRZ?caX8!I$jsrjdN{GhgoKae5GZ@�V|k7^nQ{0 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 /etc/machine-id +chmod 644 /etc/machine-id + +exit 0 diff --git a/Apps/ark-suac/ark-survival-ascended-linux-container-image/docker-compose.dev.yml b/Apps/ark-suac/ark-survival-ascended-linux-container-image/docker-compose.dev.yml new file mode 100644 index 0000000..6e70b5a --- /dev/null +++ b/Apps/ark-suac/ark-survival-ascended-linux-container-image/docker-compose.dev.yml @@ -0,0 +1,89 @@ +### +### THIS IS THE DEVELOPMENT COMPOSE FILE! +### You are most likely looking for the 'docker-compose.yml' file instead! +### +version: "3.3" +services: + asa-server-1: + container_name: asa-server-1 + hostname: asa-server-1 + entrypoint: "/usr/bin/start_server" + user: gameserver + image: "mschnitzer/asa-linux-server:development" + tty: true + environment: + - ASA_START_PARAMS=TheIsland_WP?listen?Port=7777?RCONPort=27020?RCONEnabled=True -WinLiveMaxPlayers=50 -clusterid=default -ClusterDirOverride="/home/gameserver/cluster-shared" + - ENABLE_DEBUG=0 + ports: + # Game port for player connections through the server browser + - 0.0.0.0:7777:7777/udp + # RCON port for remote server administration + - 0.0.0.0:27020:27020/tcp + depends_on: + - set-permissions-1 + volumes: + - steam-1:/home/gameserver/Steam:rw + - steamcmd-1:/home/gameserver/steamcmd:rw + - server-files-1:/home/gameserver/server-files:rw + - cluster-shared:/home/gameserver/cluster-shared:rw + - /etc/localtime:/etc/localtime:ro + - ./root/usr/share/asa-ctrl:/usr/share/asa-ctrl:rw + networks: + asa-network: + set-permissions-1: + entrypoint: "/bin/bash -c 'chown -R 25000:25000 /steam ; chown -R 25000:25000 /steamcmd ; chown -R 25000:25000 /server-files ; chown -R 25000:25000 /cluster-shared'" + user: root + image: "opensuse/leap" + volumes: + - steam-1:/steam:rw + - steamcmd-1:/steamcmd:rw + - server-files-1:/server-files:rw + - cluster-shared:/cluster-shared:rw +# asa-server-2: +# container_name: asa-server-2 +# hostname: asa-server-2 +# entrypoint: "/usr/bin/start_server" +# user: gameserver +# image: "mschnitzer/asa-linux-server:development" +# tty: true +# environment: +# - ASA_START_PARAMS=ScorchedEarth_WP?listen?Port=7778?RCONPort=27021?RCONEnabled=True -WinLiveMaxPlayers=50 -clusterid=default -ClusterDirOverride="/home/gameserver/cluster-shared" +# ports: +# # Game port for player connections through the server browser +# - 0.0.0.0:7778:7778/udp +# # RCON port for remote server administration +# - 0.0.0.0:27021:27021/tcp +# depends_on: +# - set-permissions-2 +# volumes: +# - steam-2:/home/gameserver/Steam:rw +# - steamcmd-2:/home/gameserver/steamcmd:rw +# - server-files-2:/home/gameserver/server-files:rw +# - cluster-shared:/home/gameserver/cluster-shared:rw +# - /etc/localtime:/etc/localtime:ro +# - ./root/usr/share/asa-ctrl:/usr/share/asa-ctrl:rw +# networks: +# asa-network: +# set-permissions-2: +# entrypoint: "/bin/bash -c 'chown -R 25000:25000 /steam ; chown -R 25000:25000 /steamcmd ; chown -R 25000:25000 /server-files ; chown -R 25000:25000 /cluster-shared'" +# user: root +# image: "opensuse/leap" +# volumes: +# - steam-2:/steam:rw +# - steamcmd-2:/steamcmd:rw +# - server-files-2:/server-files:rw +# - cluster-shared:/cluster-shared:rw +volumes: + cluster-shared: + steam-1: + steamcmd-1: + server-files-1: +# steam-2: +# steamcmd-2: +# server-files-2: +networks: + asa-network: + attachable: true + driver: bridge + driver_opts: + com.docker.network.bridge.name: 'asanet' diff --git a/Apps/ark-suac/ark-survival-ascended-linux-container-image/docker-compose.yml b/Apps/ark-suac/ark-survival-ascended-linux-container-image/docker-compose.yml new file mode 100644 index 0000000..0f5c344 --- /dev/null +++ b/Apps/ark-suac/ark-survival-ascended-linux-container-image/docker-compose.yml @@ -0,0 +1,83 @@ +version: "3.3" +services: + asa-server-1: + container_name: asa-server-1 + hostname: asa-server-1 + entrypoint: "/usr/bin/start_server" + user: gameserver + image: "mschnitzer/asa-linux-server:latest" + tty: true + environment: + - ASA_START_PARAMS=TheIsland_WP?listen?Port=7777?RCONPort=27020?RCONEnabled=True -WinLiveMaxPlayers=50 -clusterid=default -ClusterDirOverride="/home/gameserver/cluster-shared" + - ENABLE_DEBUG=0 + ports: + # Game port for player connections through the server browser + - 0.0.0.0:7777:7777/udp + # RCON port for remote server administration + - 0.0.0.0:27020:27020/tcp + depends_on: + - set-permissions-1 + volumes: + - steam-1:/home/gameserver/Steam:rw + - steamcmd-1:/home/gameserver/steamcmd:rw + - server-files-1:/home/gameserver/server-files:rw + - cluster-shared:/home/gameserver/cluster-shared:rw + - /etc/localtime:/etc/localtime:ro + networks: + asa-network: + set-permissions-1: + entrypoint: "/bin/bash -c 'chown -R 25000:25000 /steam ; chown -R 25000:25000 /steamcmd ; chown -R 25000:25000 /server-files ; chown -R 25000:25000 /cluster-shared'" + user: root + image: "opensuse/leap" + volumes: + - steam-1:/steam:rw + - steamcmd-1:/steamcmd:rw + - server-files-1:/server-files:rw + - cluster-shared:/cluster-shared:rw +# asa-server-2: +# container_name: asa-server-2 +# hostname: asa-server-2 +# entrypoint: "/usr/bin/start_server" +# user: gameserver +# image: "mschnitzer/asa-linux-server:latest" +# tty: true +# environment: +# - ASA_START_PARAMS=ScorchedEarth_WP?listen?Port=7778?RCONPort=27021?RCONEnabled=True -WinLiveMaxPlayers=50 -clusterid=default -ClusterDirOverride="/home/gameserver/cluster-shared" +# ports: +# # Game port for player connections through the server browser +# - 0.0.0.0:7778:7778/udp +# # RCON port for remote server administration +# - 0.0.0.0:27021:27021/tcp +# depends_on: +# - set-permissions-2 +# volumes: +# - steam-2:/home/gameserver/Steam:rw +# - steamcmd-2:/home/gameserver/steamcmd:rw +# - server-files-2:/home/gameserver/server-files:rw +# - cluster-shared:/home/gameserver/cluster-shared:rw +# - /etc/localtime:/etc/localtime:ro +# networks: +# asa-network: +# set-permissions-2: +# entrypoint: "/bin/bash -c 'chown -R 25000:25000 /steam ; chown -R 25000:25000 /steamcmd ; chown -R 25000:25000 /server-files ; chown -R 25000:25000 /cluster-shared'" +# user: root +# image: "opensuse/leap" +# volumes: +# - steam-2:/steam:rw +# - steamcmd-2:/steamcmd:rw +# - server-files-2:/server-files:rw +# - cluster-shared:/cluster-shared:rw +volumes: + cluster-shared: + steam-1: + steamcmd-1: + server-files-1: +# steam-2: +# steamcmd-2: +# server-files-2: +networks: + asa-network: + attachable: true + driver: bridge + driver_opts: + com.docker.network.bridge.name: 'asanet' diff --git a/Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/bin/cli-asa-mods b/Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/bin/cli-asa-mods new file mode 100644 index 0000000..62ad3a8 --- /dev/null +++ b/Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/bin/cli-asa-mods @@ -0,0 +1,34 @@ +#!/usr/bin/ruby.ruby3.4 +require 'json' + +db_path = '/home/gameserver/server-files/mods.json' + +unless File.exist?(db_path) + print "" + exit! 0 +end + +begin + mods = JSON.parse(File.read(db_path)) + args = "-mods=" + counter = 0 + + mods.each do |mod| + if mod['enabled'] + args += ',' if counter > 0 + args += mod['mod_id'].to_s + + counter += 1 + end + end + + if counter > 0 + print args + end +rescue JSON::ParserError + File.write('/tmp/mod-read-error', 'mods.json is corrupted') + print "" +rescue => err + File.write('/tmp/mod-read-error', err.to_s) + print "" +end diff --git a/Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/bin/start_server b/Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/bin/start_server new file mode 100644 index 0000000..c5fbbd2 --- /dev/null +++ b/Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/bin/start_server @@ -0,0 +1,91 @@ +#!/bin/bash +if [ "$ENABLE_DEBUG" = "1" ]; then + echo "Entering debug mode..." + sleep 999999999999 + exit 0 +fi + +# download steamcmd if necessary +if [ ! -d "/home/gameserver/steamcmd/linux32" ]; then + cd /home/gameserver/steamcmd + wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz + tar xfvz steamcmd_linux.tar.gz +fi + +# download/update server files +cd /home/gameserver/steamcmd +./steamcmd.sh +force_install_dir /home/gameserver/server-files +login anonymous +app_update 2430930 validate +quit + +PROTON_VERSION="10-17" +PROTON_DIR_NAME="GE-Proton$PROTON_VERSION" +PROTON_ARCHIVE_NAME="$PROTON_DIR_NAME.tar.gz" +STEAM_COMPAT_DATA=/home/gameserver/server-files/steamapps/compatdata +STEAM_COMPAT_DIR=/home/gameserver/Steam/compatibilitytools.d +ASA_COMPAT_DATA=$STEAM_COMPAT_DATA/2430930 +ASA_BINARY_DIR="/home/gameserver/server-files/ShooterGame/Binaries/Win64" +START_PARAMS_FILE="/home/gameserver/server-files/start-parameters" +MODS="$(/usr/bin/cli-asa-mods)" +ASA_START_PARAMS="$ASA_START_PARAMS $MODS" +ASA_BINARY_NAME="ArkAscendedServer.exe" +ASA_PLUGIN_BINARY_NAME="AsaApiLoader.exe" +ASA_PLUGIN_LOADER_ARCHIVE_NAME=$(basename $ASA_BINARY_DIR/AsaApi_*.zip) +ASA_PLUGIN_LOADER_ARCHIVE_PATH="$ASA_BINARY_DIR/$ASA_PLUGIN_LOADER_ARCHIVE_NAME" +ASA_PLUGIN_BINARY_PATH="$ASA_BINARY_DIR/$ASA_PLUGIN_BINARY_NAME" +LAUNCH_BINARY_NAME="$ASA_BINARY_NAME" + +# install proton if necessary +if [ ! -d "$STEAM_COMPAT_DIR/$PROTON_DIR_NAME" ]; then + mkdir -p $STEAM_COMPAT_DIR + echo "Downloading Proton version $PROTON_VERSION... This might take a while" + wget -P /tmp https://github.com/GloriousEggroll/proton-ge-custom/releases/download/GE-Proton$PROTON_VERSION/GE-Proton$PROTON_VERSION.tar.gz + EXIT_CODE=$? + + if [ $EXIT_CODE -ne 0 ]; then + echo "Error: Error while downloading Proton ($EXIT_CODE)" + exit 200 + fi + + echo "Download finished, comparing checksums..." + sha512sum -c /usr/share/proton/GE-Proton$PROTON_VERSION.sha512sum + + if [ $? -ne 0 ]; then + echo "Error: Proton checksum mismatch!" + exit 201 + fi + + tar -xf /tmp/$PROTON_ARCHIVE_NAME -C $STEAM_COMPAT_DIR + rm /tmp/$PROTON_ARCHIVE_NAME +fi + +# install proton compat game data +if [ ! -d "$ASA_COMPAT_DATA" ]; then + mkdir -p $STEAM_COMPAT_DATA + cp -r $STEAM_COMPAT_DIR/$PROTON_DIR_NAME/files/share/default_pfx $ASA_COMPAT_DATA +fi + +echo "Starting the ARK: Survival Ascended dedicated server..." +echo "Start parameters: $ASA_START_PARAMS" + +export XDG_RUNTIME_DIR=/run/user/$(id -u) +export STEAM_COMPAT_CLIENT_INSTALL_PATH=/home/gameserver/Steam +export STEAM_COMPAT_DATA_PATH=$ASA_COMPAT_DATA + +cd "$ASA_BINARY_DIR" + +# unzip the asa plugin api archive if it exists. delete it afterwards +if [ -f "$ASA_PLUGIN_LOADER_ARCHIVE_PATH" ]; then + unzip -o $ASA_PLUGIN_LOADER_ARCHIVE_NAME + rm $ASA_PLUGIN_LOADER_ARCHIVE_NAME +fi + +if [ -f "$ASA_PLUGIN_BINARY_PATH" ]; then + echo "Detected ASA Server API loader. Launching server through $ASA_PLUGIN_BINARY_NAME" + LAUNCH_BINARY_NAME="$ASA_PLUGIN_BINARY_NAME" +fi + +# Remove steamclient64.dll to prevent server from crashing. +# File is not needed and was probably accidentally committed to Steam. +# See: https://github.com/mschnitzer/ark-survival-ascended-linux-container-image/issues/123 +rm -f /home/gameserver/server-files/ShooterGame/Binaries/Win64/steamclient64.dll + +$STEAM_COMPAT_DIR/$PROTON_DIR_NAME/proton run $LAUNCH_BINARY_NAME $ASA_START_PARAMS diff --git a/Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/Gemfile b/Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/Gemfile new file mode 100644 index 0000000..0493900 --- /dev/null +++ b/Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/Gemfile @@ -0,0 +1,4 @@ +source 'https://rubygems.org' + +gem 'slop', '= 4.10.1' +gem 'iniparse', '= 1.5.0' diff --git a/Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/Gemfile.lock b/Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/Gemfile.lock new file mode 100644 index 0000000..91f9e99 --- /dev/null +++ b/Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/Gemfile.lock @@ -0,0 +1,15 @@ +GEM + remote: https://rubygems.org/ + specs: + iniparse (1.5.0) + slop (4.10.1) + +PLATFORMS + x86_64-linux-gnu + +DEPENDENCIES + iniparse (= 1.5.0) + slop (= 4.10.1) + +BUNDLED WITH + 2.5.0.dev diff --git a/Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/cli/interfaces/cli_interface.rb b/Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/cli/interfaces/cli_interface.rb new file mode 100644 index 0000000..b8b7283 --- /dev/null +++ b/Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/cli/interfaces/cli_interface.rb @@ -0,0 +1,15 @@ +module AsaCtrl + module Cli + class CliInterface + def initialize(opts) + @opts = opts + + print_help! if opts[:help] + end + + def print_help! + raise "Help not implemented!" + end + end + end +end diff --git a/Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/cli/interfaces/mods_interface.rb b/Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/cli/interfaces/mods_interface.rb new file mode 100644 index 0000000..e4e557d --- /dev/null +++ b/Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/cli/interfaces/mods_interface.rb @@ -0,0 +1,34 @@ +module AsaCtrl + module Cli + class ModsInterface < CliInterface + def initialize(opts) + super(opts) + + execute! + end + + def execute! + if @opts[:enable] + enable_mod! + end + + exit! AsaCtrl::ExitCodes::OK + end + + def enable_mod! + mod_id = @opts[:enable] + AsaCtrl::Mods::Database.get_instance.enable_mod!(mod_id) + + puts "Enabled mod id '#{mod_id}' successfully. The server will download the mod upon startup." + rescue AsaCtrl::Errors::ModAlreadyEnabledError + AsaCtrl::Cli.exit_with_error!("This mod is already enabled! Use 'asa-ctrl mods --list' to see what mods are currently enabled.", + AsaCtrl::ExitCodes::MOD_ALREADY_ENABLED) + end + + def print_help! + puts "Usage: asa-ctrl mods [--install] (--dry-run)" + exit! AsaCtrl::ExitCodes::OK + end + end + end +end diff --git a/Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/cli/interfaces/rcon_interface.rb b/Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/cli/interfaces/rcon_interface.rb new file mode 100644 index 0000000..71af4a8 --- /dev/null +++ b/Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/cli/interfaces/rcon_interface.rb @@ -0,0 +1,42 @@ +module AsaCtrl + module Cli + class RconInterface < CliInterface + def initialize(opts) + super(opts) + + execute! + end + + def execute! + if @opts[:exec] + run_command! + end + + exit! AsaCtrl::ExitCodes::OK + end + + def run_command! + rcon_command = @opts[:exec] + response = AsaCtrl::Rcon.exec_command!('127.0.0.1', AsaCtrl::Rcon.identify_port, rcon_command, AsaCtrl::Rcon.identify_password) + + if response[:id] == AsaCtrl::Rcon::PacketTypes::RESPONSE_VALUE + puts response[:body] + else + AsaCtrl::Cli.exit_with_error!("Rcon command execution failed: #{response}", + AsaCtrl::ExitCodes::RCON_COMMAND_EXECUTION_FAILED) + end + rescue AsaCtrl::Errors::RconPasswordNotFoundError + AsaCtrl::Cli.exit_with_error!("Could not read RCON password. Make sure it is properly configured, either as start parameter ?ServerAdminPassword=mypass or " \ + "in GameUserSettings.ini in the [ServerSettings] section as ServerAdminPassword=mypass", AsaCtrl::ExitCodes::RCON_PASSWORD_NOT_FOUND) + rescue AsaCtrl::Errors::RconAuthenticationError + AsaCtrl::Cli.exit_with_error!("Could not execute this RCON command. Authentication failed (wrong server password).", + AsaCtrl::ExitCodes::RCON_PASSWORD_WRONG) + end + + def print_help! + puts "Usage: asa-ctrl rcon [--exec]" + exit! AsaCtrl::ExitCodes::OK + end + end + end +end diff --git a/Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/cli/utils.rb b/Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/cli/utils.rb new file mode 100644 index 0000000..7b3454d --- /dev/null +++ b/Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/cli/utils.rb @@ -0,0 +1,23 @@ +module AsaCtrl + module Cli + HELP_ARGUMENT = '--help' + HELP_DESCRIPTION = 'Prints a help message' + + def self.passed_command(args) + if ARGV.size == 0 + [] + else + [ARGV[0]] + end + end + + def self.print_usage + puts "Usage: asa-ctrl [rcon] (--help)" + end + + def self.exit_with_error!(message, code) + $stderr.puts "Error: #{message}" + exit! code + end + end +end diff --git a/Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/errors/base_error.rb b/Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/errors/base_error.rb new file mode 100644 index 0000000..0c86ba1 --- /dev/null +++ b/Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/errors/base_error.rb @@ -0,0 +1,5 @@ +module AsaCtrl + module Errors + class BaseError < StandardError; end + end +end diff --git a/Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/errors/errors.rb b/Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/errors/errors.rb new file mode 100644 index 0000000..743be48 --- /dev/null +++ b/Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/errors/errors.rb @@ -0,0 +1,5 @@ +require_relative './base_error.rb' +require_relative './mod_already_enabled_error.rb' +require_relative './rcon_authentication_error.rb' +require_relative './rcon_password_not_found_error.rb' +require_relative './rcon_port_not_found_error.rb' diff --git a/Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/errors/mod_already_enabled_error.rb b/Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/errors/mod_already_enabled_error.rb new file mode 100644 index 0000000..963f35e --- /dev/null +++ b/Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/errors/mod_already_enabled_error.rb @@ -0,0 +1,5 @@ +module AsaCtrl + module Errors + class ModAlreadyEnabledError < BaseError; end + end +end diff --git a/Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/errors/rcon_authentication_error.rb b/Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/errors/rcon_authentication_error.rb new file mode 100644 index 0000000..e0ecb23 --- /dev/null +++ b/Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/errors/rcon_authentication_error.rb @@ -0,0 +1,5 @@ +module AsaCtrl + module Errors + class RconAuthenticationError < BaseError; end + end +end diff --git a/Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/errors/rcon_password_not_found_error.rb b/Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/errors/rcon_password_not_found_error.rb new file mode 100644 index 0000000..a7b69de --- /dev/null +++ b/Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/errors/rcon_password_not_found_error.rb @@ -0,0 +1,5 @@ +module AsaCtrl + module Errors + class RconPasswordNotFoundError < BaseError; end + end +end diff --git a/Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/errors/rcon_port_not_found_error.rb b/Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/errors/rcon_port_not_found_error.rb new file mode 100644 index 0000000..e23c637 --- /dev/null +++ b/Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/errors/rcon_port_not_found_error.rb @@ -0,0 +1,5 @@ +module AsaCtrl + module Errors + class RconPortNotFoundError < BaseError; end + end +end diff --git a/Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/exit_codes.rb b/Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/exit_codes.rb new file mode 100644 index 0000000..39e6026 --- /dev/null +++ b/Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/exit_codes.rb @@ -0,0 +1,10 @@ +module AsaCtrl + module ExitCodes + OK = 0 + CORRUPTED_MODS_DATABASE = 1 + MOD_ALREADY_ENABLED = 2 + RCON_PASSWORD_NOT_FOUND = 3 + RCON_PASSWORD_WRONG = 4 + RCON_COMMAND_EXECUTION_FAILED = 5 + end +end diff --git a/Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/helpers/helpers.rb b/Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/helpers/helpers.rb new file mode 100644 index 0000000..fed34cd --- /dev/null +++ b/Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/helpers/helpers.rb @@ -0,0 +1,2 @@ +require_relative './start_params_helper.rb' +require_relative './ini_config_helper.rb' diff --git a/Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/helpers/ini_config_helper.rb b/Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/helpers/ini_config_helper.rb new file mode 100644 index 0000000..bf41b87 --- /dev/null +++ b/Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/helpers/ini_config_helper.rb @@ -0,0 +1,17 @@ +module AsaCtrl + module IniConfigHelper + def self.game_user_settings_ini + self.parse('/home/gameserver/server-files/ShooterGame/Saved/Config/WindowsServer/GameUserSettings.ini') + end + + def self.game_ini + self.parse('/home/gameserver/server-files/ShooterGame/Saved/Config/WindowsServer/Game.ini') + end + + def self.parse(path) + return unless File.exist?(path) + + IniParse.parse(File.read(path)) + end + end +end diff --git a/Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/helpers/start_params_helper.rb b/Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/helpers/start_params_helper.rb new file mode 100644 index 0000000..f85e43a --- /dev/null +++ b/Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/helpers/start_params_helper.rb @@ -0,0 +1,22 @@ +module AsaCtrl + module StartParamsHelper + def self.get_value(start_params, key) + return unless start_params + + value = '' + offset = start_params.index("#{key}=") + + return unless offset + + offset += "#{key}=".length + + start_params[offset..-1].each_char do |char| + break if char == ' ' || char == '?' + + value += char + end + + value + end + end +end diff --git a/Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/main.rb b/Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/main.rb new file mode 100755 index 0000000..499b34b --- /dev/null +++ b/Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/main.rb @@ -0,0 +1,36 @@ +#!/usr/bin/ruby.ruby3.4 +require 'json' +require 'slop' +require 'iniparse' +require 'socket' + +if ENV['DEV'] == '1' + require 'byebug' +end + +require_relative './exit_codes.rb' +require_relative './errors/errors.rb' +require_relative './helpers/helpers.rb' +require_relative './mods/database.rb' +require_relative './rcon/rcon.rb' +require_relative './cli/utils.rb' +require_relative './cli/interfaces/cli_interface.rb' +require_relative './cli/interfaces/mods_interface.rb' +require_relative './cli/interfaces/rcon_interface.rb' + +main_args = Slop.parse(AsaCtrl::Cli.passed_command(ARGV)) do |args| + args.on 'rcon', 'Interface for RCON command execution' do + opts = Slop.parse(ARGV[1..-1]) do |opt| + opt.string '--exec', 'An RCON command to execute' + opt.bool AsaCtrl::Cli::HELP_ARGUMENT, AsaCtrl::Cli::HELP_DESCRIPTION + end + + AsaCtrl::Cli::RconInterface.new(opts) + end + + args.on AsaCtrl::Cli::HELP_ARGUMENT, AsaCtrl::Cli::HELP_DESCRIPTION do + # handled once slop exits + end +end + +AsaCtrl::Cli.print_usage diff --git a/Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/mods/database.rb b/Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/mods/database.rb new file mode 100644 index 0000000..1b85b19 --- /dev/null +++ b/Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/mods/database.rb @@ -0,0 +1,66 @@ +module AsaCtrl + module Mods + MOD_DATABASE_PATH = '/home/gameserver/server-files/mods.json' + + class Database + @@singleton_reference = nil + + def initialize(database_path) + @database_path = database_path + + ensure_database_presence! + load_database + end + + def self.get_instance + return @@singleton_reference if @@singleton_reference + @@singleton_reference = Database.new(MOD_DATABASE_PATH) + end + + def enable_mod!(mod_id) + @database.each do |record| + if record['mod_id'].to_i == mod_id.to_i + raise AsaCtrl::Errors::ModAlreadyEnabledError if record['enabled'] + + record['enabled'] = true + write_database! + + return + end + end + + add_new_record!(mod_id, 'unknown', true, false) + end + + def add_new_record!(mod_id, name, enabled, scanned) + @database << { + mod_id: mod_id.to_i, + name: name, + enabled: enabled, + scanned: scanned + } + + write_database! + end + + def write_database! + File.write(@database_path, JSON.pretty_generate(@database)) + end + + def ensure_database_presence! + return if File.exist?(@database_path) + + @database = [] + write_database! + end + + def load_database + @database = JSON.parse(File.read(@database_path)) + rescue JSON::ParserError + # we do not want to delete the file for the user, as they might want to save its content first + AsaCtrl::Cli.exit_with_error!("mods.json file is corrupted and cannot be parsed, please delete this file " \ + "manually. It can be found in the server files root directory.", AsaCtrl::ExitCodes::CORRUPTED_MODS_DATABASE) + end + end + end +end diff --git a/Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/rcon/rcon.rb b/Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/rcon/rcon.rb new file mode 100644 index 0000000..90d9fd9 --- /dev/null +++ b/Apps/ark-suac/ark-survival-ascended-linux-container-image/root/usr/share/asa-ctrl/rcon/rcon.rb @@ -0,0 +1,69 @@ +module AsaCtrl + module Rcon + module PacketTypes + RESPONSE_VALUE = 0 + EXEC_COMMAND = 2 + AUTH_RESPONSE = 2 + AUTH = 3 + end + + Packet = Struct.new(:size, :id, :type, :body) + + def self.exec_command!(server_ip, rcon_port, rcon_command, password) + socket = TCPSocket.new(server_ip, rcon_port) + raise AsaCtrl::Errors::RconAuthenticationError unless self.authenticate!(socket, password) + + self.send_packet!(socket, rcon_command, PacketTypes::EXEC_COMMAND) + end + + def self.authenticate!(socket, password) + response = self.send_packet!(socket, password, PacketTypes::AUTH) + response[:id] != -1 + end + + def self.send_packet!(socket, data, packet_id) + packet = Packet.new(10+data.bytesize, 0, packet_id, data) + + self.send_to(packet, socket) + self.recv_from(socket) + end + + def self.send_to(packet, socket) + szb = [packet[:size]].pack 'l<' + idb = [packet[:id]].pack 'l<' + type_b = [packet[:type]].pack 'l<' + body_b = [packet[:body]].pack 'Z*' + data = szb + idb + type_b + body_b + "\0" + + socket.sendmsg(data) + end + + def self.recv_from(socket) + msg_ary = socket.recvmsg + msg = msg_ary[0] + ary = msg.unpack('ljxwr$%+$F^-J9VeaS_TKyS{?0k~p1YoB{(0xX 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
    y+_EoBn~rs7%_163Xfc2HV1i6W|7ogY`M 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 B?7aX0 delta 14393 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