acekorneya/asa_server

By acekorneya

Updated about 9 hours ago

Run your own Ark Survival Ascended game server effortlessly with this Docker image.

Image
Networking
Web servers
8

50K+

acekorneya/asa_server repository overview

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.

Git Hub Repository: https://github.com/Acekorneya/Ark-Survival-Ascended-Server

Environment Variables
VariableDefaultDescription
PUID1001The UID to run server as
PGID1001The GID to run server as
BATTLEEYETRUESet to TRUE to use BattleEye, FALSE to not use BattleEye
RCON_ENABLEDTRUENeeded for Graceful Shutdown
DISPLAY_POK_MONITOR_MESSAGEFALSETRUE to Show the Server Monitor Messages / Update Monitor Shutdown
UPDATE_SERVERTRUEEnable or disable update checks
CHECK_FOR_UPDATE_INTERVAL24Check for Updates interval in hours
UPDATE_WINDOW_MINIMUM_TIME12:00 AMDefines the minimum time, relative to server time, when an update check should run
UPDATE_WINDOW_MAXIMUM_TIME11:59 PMDefines the maximum time, relative to server time, when an update check should run
RESTART_NOTICE_MINUTES30Duration in minutes for notifying players before a server restart due to updates
ENABLE_MOTDFALSEEnable or disable Message of the Day
MOTDMessage of the Day
MOTD_DURATION30Duration for the Message of the Day
MAP_NAMETheIslandThe map name (`TheIsland') Or Custom Map Name Can Be Enter aswell
SESSION_NAMEServer_nameThe session name for the server
SERVER_ADMIN_PASSWORDMyPasswordThe admin password for the server
SERVER_PASSWORDSet a server password or leave it blank (ONLY NUMBERS AND CHARACTERS ARE ALLOWED BY DEVS)
ASA_PORT7777The game port for the server
RCON_PORT27020Rcon Port Use for Most Server Operations
MAX_PLAYERS127Max allowed players
CLUSTER_IDclusterThe Cluster ID for the server
MOD_IDSAdd your mod IDs here, separated by commas, e.g., 123456789,987654321
CUSTOM_SERVER_ARGSIf 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.

  • UPDATE_WINDOW_MINIMUM_TIME and UPDATE_WINDOW_MAXIMUM_TIME: Combined, these two values can allow you to define a time window for when server updates should be performed. This can be useful to ensure update driven restarts only happen during off peak hours.


Ports
PortDescription
7777/tcpGame port
7777/udpGame port

Comments

Query Port is not needed for Ark Ascended

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 PathDescription
./ASAGame files
./ARK Survival Ascended Dedicated ServerServer files
./ClusterCluster files

  • 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=FALSE    # TRUE to Show the Server Monitor Messages / Update Monitor 
      - UPDATE_SERVER=TRUE                   # Enable or disable update checks
      - CHECK_FOR_UPDATE_INTERVAL=24         # Check for Updates interval in hours
      - UPDATE_WINDOW_MINIMUM_TIME=12:00 AM  # Defines the minimum time, relative to server time, when an update check should run
      - UPDATE_WINDOW_MAXIMUM_TIME=11:59 PM  # Defines the maximum time, relative to server time, when an update check should run
      - 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.

Tag summary

Content type

Image

Digest

sha256:65f796a04

Size

3.2 GB

Last updated

about 9 hours ago

docker pull acekorneya/asa_server:2_1_beta