Sign inSign up

acekorneya/asa_server

By acekorneya

•Updated 8 days 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:f9354cab6…

Size

1.1 GB

Last updated

over 2 years ago

docker pull acekorneya/asa_server