Code Monkey home page Code Monkey logo

ark-survival-ascended-server's Introduction

Documentation for Ark Survival Ascended Server Docker Image

Docker Image Details

This Docker image is designed to run a dedicated server for the game Ark Survival Ascended. It's based on scottyhardy/docker-wine to enable the running of Windows applications. The image uses a bash script to handle startup, server installation, server update ,and setting up environment variables.


Environment Variables

Variable Default Description
PUID 1001 The UID to run server as
PGID 1001 The GID to run server as
BATTLEEYE TRUE Set to TRUE to use BattleEye, FALSE to not use BattleEye
RCON_ENABLED TRUE Needed for Graceful Shutdown
DISPLAY_POK_MONITOR_MESSAGE TRUE FALSE to suppress the Server Monitor Shutdown
UPDATE_SERVER TRUE Enable or disable update checks
CHECK_FOR_UPDATE_INTERVAL 24 Check for Updates interval in hours
RESTART_NOTICE_MINUTES 30 Duration in minutes for notifying players before a server restart due to updates
ENABLE_MOTD FALSE Enable or disable Message of the Day
MOTD Message of the Day
MOTD_DURATION 30 Duration for the Message of the Day
MAP_NAME TheIsland The map name (`TheIsland') Or Custom Map Name Can Be Enter aswell
SESSION_NAME Server_name The session name for the server
SERVER_ADMIN_PASSWORD MyPassword The admin password for the server
SERVER_PASSWORD Set a server password or leave it blank (ONLY NUMBERS AND CHARACTERS ARE ALLOWED BY DEVS)
ASA_PORT 7777 The game port for the server
RCON_PORT 27020 Rcon Port Use for Most Server Operations
MAX_PLAYERS 127 Max allowed players
CLUSTER_ID cluster The Cluster ID for the server
MOD_IDS Add your mod IDs here, separated by commas, e.g., 123456789,987654321
CUSTOM_SERVER_ARGS If You need to add more Custom Args -ForceRespawnDinos -ForceAllowCaveFlyers

Additional Information

  • PUID and PGID: These are important for setting the permissions of the folders that Docker will use. Make sure to set these values based on your host machine's user and group ID

  • Folder Creation: Before starting the Docker Compose file, make sure to manually create any folders that you'll be using for volumes, especially if you're overriding the default folders.


Ports

Port Description
7777/tcp Game port
7777/udp Game port

Volumes

When you run the docker compose up it should create this folders in the same folder as the docker-compose.yaml file unless changed by the user

Volume Path Description
./ASA Game files
./ARK Survival Ascended Dedicated Server Server files
./Cluster Cluster files

Recommended System Requirements

  • CPU: min 2 CPUs
  • RAM: > 16 GB
  • Disk: ~50 GB

Usage

Docker Compose

Create a docker-compose.yaml file and populate it with the service definition.

version: '2.4'

services:
  asaserver:
    build: .
    image: acekorneya/asa_server:latest
    container_name: asa_Server
    restart: unless-stopped
    environment:
      - PUID=1001                            # The UID to run server as
      - PGID=1001                            # The GID to run server as
      - BATTLEEYE=FALSE                      # Set to TRUE to use BattleEye, FALSE to not use BattleEye
      - RCON_ENABLED=TRUE                    # Needed for Graceful Shutdown / Updates / Server Notifications
      - DISPLAY_POK_MONITOR_MESSAGE=TRUE     # Or FALSE to suppress the Server Monitor / Update Monitor 
      - UPDATE_SERVER=TRUE                   # Enable or disable update checks
      - CHECK_FOR_UPDATE_INTERVAL=24         # Check for Updates interval in hours
      - RESTART_NOTICE_MINUTES=30            # Duration in minutes for notifying players before a server restart due to updates
      - ENABLE_MOTD=FALSE                    # Enable or disable Message of the Day
      - MOTD=                                # Message of the Day
      - MOTD_DURATION=30                     # Duration for the Message of the Day
      - MAP_NAME=TheIsland
      - SESSION_NAME=Server_name
      - SERVER_ADMIN_PASSWORD=MyPassword
      - SERVER_PASSWORD=                     # Set a server password or leave it blank (ONLY NUMBERS AND CHARACTERS ARE ALLOWED BY DEVS)
      - ASA_PORT=7777
      - RCON_PORT=27020
      - MAX_PLAYERS=70
      - CLUSTER_ID=cluster
      - MOD_IDS=                             # Add your mod IDs here, separated by commas, e.g., 123456789,987654321
      - CUSTOM_SERVER_ARGS=                  # If You need to add more Custom Args -ForceRespawnDinos -ForceAllowCaveFlyers
    ports:
      - "7777:7777/tcp"
      - "7777:7777/udp"
    volumes:
      - "./ASA:/usr/games/.wine/drive_c/POK/Steam/steamapps/common/ARK Survival Ascended Dedicated Server/ShooterGame"
      - "./ARK Survival Ascended Dedicated Server:/usr/games/.wine/drive_c/POK/Steam/steamapps/common/ARK Survival Ascended Dedicated Server"
      - "./Cluster:/usr/games/.wine/drive_c/POK/Steam/steamapps/common/ShooterGame"
    mem_limit: 16G 

If you're planning to change the volume directories, create those directories manually before starting the service.

Then, run the following command to start the server:

sudo docker compose up

Additional server settings

Advanced Config For custom settings, edit GameUserSettings.ini in ASA/Saved/Config/WindowsServer. Modify and restart the container.


Temp Fix

IF you see this at the end of you logs

asa_pve_Server | [2023.11.06-03.55.48:449][  1]Allocator Stats for binned2 are not in this build set BINNED2_ALLOCATOR_STATS 1 in MallocBinned2.cpp

you need to run this command first

sysctl -w vm.max_map_count=262144

if you want to make it perment

sudo -s echo "vm.max_map_count=262144" >> /etc/sysctl.conf && sysctl -p

Hypervisors

If you are using Proxmox as your virtual host make sure to set the CPU Type to "host" in your VM elsewise you'll get errors with the server.

SERVER_MANAGER

If you want to run Rcon_manager.sh download it just place it in the same folder as your docker-compose.yaml make it executable and launch it..

you can also do automatic restart with CronJobs example below

 0 3 * * * /path/to/start_rcon_manager.sh -restart 10

this will schedule a restart every day at 3 AM with a 10-minute countdown

UPDATING DOCKER IMAGE

Open a terminal or command prompt.

romove old docker image

docker rmi acekorneya/asa_server:latest

then run this command downloads the latest version of the Ark: Survival Ascended Docker image from Docker Hub.

docker pull acekorneya/asa_server:latest.

Restart the Docker Container

First, bring down your current container with

docker-compose down.

Then, start it again using

docker-compose up.

These commands stop the currently running container and start a new one with the updated image.

Star History

Star History Chart

ark-survival-ascended-server's People

Contributors

acekorneya avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.