Deployment Overview of ARK Survival Evolved Server on Server¶
Prerequisites and Basic Requirements¶
The deployment of the ARK Survival Evolved Dedicated Server requires the following system specifications and configurations:
-
Operating System: Ubuntu (Debian-based)
-
Privileges: Root or sudo access is required to install system packages, create users, and manage systemd services.
-
Required Packages: The following packages must be installed on the system:
-
curl -
lib32gcc1 -
lib32stdc++6 -
screen -
wget -
tar -
Firewall: The
ufw(Uncomplicated Firewall) must be configured to allow specific UDP traffic for the game server.
FQDN of the Final Panel¶
The server is configured with the following domain parameters for the hostkey.in zone:
-
Zone:
hostkey.in -
Prefix:
ark-server -
FQDN Format:
ark-server<Server ID>.hostkey.in:<port>
File and Directory Structure¶
The application files, configuration scripts, and data are organized within the home directory of the dedicated service user. The primary locations are:
-
Base Directory:
/home/steam/ARK -
SteamCMD Directory:
/home/steam/steamcmd -
Startup Script:
/home/steam/ARK/ark_server_start.sh -
Installation Script:
/home/steam/install.sh -
Systemd Service Unit:
/etc/systemd/system/ark.service
Application Installation Process¶
The ARK Survival Evolved Dedicated Server is installed using SteamCMD. The process involves downloading the SteamCMD tool, extracting it, and executing a custom installation script to download the game server binaries.
-
A dedicated system user named
steamis created with the home directory/home/steam. -
The SteamCMD tool is downloaded from the official Steam CDN and extracted to
/home/steam/steamcmd. -
An installation script located at
/home/steam/install.shis executed. This script invokes SteamCMD with the following parameters: -
Force installation directory:
/home/steam/ARK -
Application ID:
376030(ARK: Survival Evolved Dedicated Server) -
Validation: Enabled (
validate) -
The server binaries are installed into the
/home/steam/ARKdirectory.
Access Rights and Security¶
Security and access control are managed through user isolation and firewall rules:
-
Service User: The application runs under the non-root user
steam. -
Firewall Rules: The
ufwfirewall is configured to allow UDP traffic on the following ports: -
7777(Game Port) -
27015(Query Port) -
32330(RCON Port)
Docker Containers and Their Deployment¶
This deployment does not utilize Docker containers. The application is installed directly on the host operating system using native binaries and managed via systemd.
Proxy Servers¶
No proxy servers (such as Nginx or Traefik) or SSL termination via Certbot are configured for this specific deployment. The server communicates directly over the defined UDP ports.
Permission Settings¶
File and directory permissions are set to ensure the steam user has full ownership and execution rights:
-
Owner:
steam -
Group:
steam -
Directories:
-
/home/steam/steamcmd -
/home/steam/ARK -
Scripts:
-
/home/steam/install.sh: Mode0755 -
/home/steam/ARK/ark_server_start.sh: Mode0755 -
Systemd Unit File:
/etc/systemd/system/ark.service: Mode0644
Location of Configuration Files and Data¶
The server configuration is embedded within the startup script rather than a separate configuration file. The primary configuration file is:
- Startup Script:
/home/steam/ARK/ark_server_start.sh
This script contains the following runtime parameters: | Parameter | Value | Description | | :--- | :--- | :--- | | map_name | TheIsland | The game map to load | | server_name | My ARK Server | The display name of the server | | server_password | TestPass123! | Password for joining the server | | admin_password | TestPass123! | Password for RCON/Admin access | | max_players | 20 | Maximum number of players | | server_port | 7777 | Main game port | | query_port | 27015 | Server query port | | rcon_port | 32330 | RCON port |
Available Ports for Connection¶
The following ports are open and configured for client and administrative connections:
-
7777/UDP: Game traffic
-
27015/UDP: Server query
-
32330/UDP: RCON (Remote Console)
Starting, Stopping, and Updating¶
The ARK Survival Evolved Server is managed as a systemd service named ark. Use the following commands to control the service:
-
Start the server:
-
Stop the server:
-
Restart the server:
-
Enable auto-start on boot:
-
Check service status:
The service is configured to restart automatically on failure with a 5-second delay (Restart=on-failure, RestartSec=5s).