LinuxCommandLibrary

ark-survival-ascended

Run Ark: Survival Ascended game

TLDR

Start the server with a specific map

$ [path/to/ArkAscendedServer] [TheIsland_WP]
copy

Start the server with a specific session name, server password, and admin password
$ [path/to/ArkAscendedServer] [TheIsland_WP]?SessionName=[session_name]?ServerPassword=[server_password]?ServerAdminPassword=[admin_password]
copy

Start the server with a specific port and set a maximum player count
$ [path/to/ArkAscendedServer] [TheIsland_WP] -port=[7777] -WinLiveMaxPlayers=[1..70]
copy

Enable PvE and disabling PvP
$ [path/to/ArkAscendedServer] [TheIsland_WP]?ServerPVE=true
copy

Set a multiplier to scale the server difficulty, affecting the maximum level of wild creatures
$ [path/to/ArkAscendedServer] [TheIsland_WP]?DifficultyOffset=[1.0]
copy

Disable creature animation optimization to prevent collision issues
$ [path/to/ArkAscendedServer] [TheIsland_WP] -AlwaysTickDedicatedSkeletalMeshes
copy

Enable specific mods by their ID (comma-separated)
$ [path/to/ArkAscendedServer] [TheIsland_WP] -mods=[mod_id1, mod_id2, ...]
copy

Allow connections from specific platforms
$ [path/to/ArkAscendedServer] [TheIsland_WP] -ServerPlatform=[PC+XSX+PS5]
copy

SYNOPSIS

ShooterGameServer MapName[?listen][?SessionName=Name...][-useperfthreads...]

PARAMETERS

MapName
    The name of the specific ARK map to load (e.g., TheIsland, ScorchedEarth_P). This is the primary positional argument after the executable.

?listen
    A required flag within the query string to instruct the server to accept client connections.

?SessionName=name
    Sets the public display name of the server that appears in the game's server browser.

?Port=portnum
    Specifies the primary UDP game port (default 7777) for client connections.

?QueryPort=portnum
    Specifies the UDP query port (default 27015) used for server listing and status queries.

?ServerPassword=password
    Sets a password required for players to join the server.

?ServerAdminPassword=password
    Sets the administrator password, used for in-game console commands and RCON access.

?MaxPlayers=num
    Defines the maximum number of players that can simultaneously be connected to the server.

?RCONPort=portnum
    Enables and sets the RCON (Remote Console) TCP port (default 32330) for remote administration.

?RCONEnabled=True|False
    Activates or deactivates the RCON feature. Must be set to True for RCONPort to function.

-useperfthreads
    A Unreal Engine flag optimizing server performance by utilizing additional CPU threads for various tasks.

-NoAsyncLoadingThread
    Disables asynchronous loading threads, which can improve stability on certain hardware configurations.

-UseMultithreadForDS
    Enables specific multi-threading optimizations for dedicated server operations, enhancing efficiency.

-structuredlog
    Outputs server logs in a structured format, making them easier to parse and analyze with tools.

-log
    Enables general logging to a file, providing verbose output for debugging and monitoring.

-NoBattlEye
    Disables the BattlEye anti-cheat system. Typically used for private testing or development, not recommended for public servers.

-multihome=IP_address
    Binds the server to a specific local IP address, useful on machines with multiple network interfaces.

DESCRIPTION

The "ark-survival-ascended" command refers to the method of launching and managing a dedicated game server for Ark: Survival Ascended on a Linux system. While not a standalone Linux utility in the traditional sense, it conceptually represents the execution of the underlying Unreal Engine server executable, typically named ShooterGameServer.

This command is crucial for individuals or communities looking to host their own persistent Ark worlds, offering full control over game settings, mods, and player experience. The server executable is highly configurable, relying on a combination of command-line arguments for immediate settings (like map, ports, session name, passwords) and INI configuration files (Game.ini, GameUserSettings.ini) for more detailed gameplay rules, multipliers, and advanced server behaviors.

Setting up and running an Ark: Survival Ascended server involves installing the server files via SteamCMD, configuring network ports (port forwarding), and crafting the appropriate launch command with all desired parameters. It's known for being resource-intensive, requiring significant CPU, RAM, and storage, and often runs within a persistent session manager like screen or tmux, or as a systemd service.

CAVEATS

The Ark: Survival Ascended server is resource-intensive, requiring substantial CPU, RAM, and disk I/O.
Configuration is split between command-line arguments and multiple INI files, which can be complex.
Regular game updates necessitate frequent server updates and restarts, potentially causing downtime.
Requires proper port forwarding on the host machine's firewall and router for external access.
Performance can vary significantly based on hardware, player count, and installed mods.

INI FILE CONFIGURATION

Many advanced server settings, gameplay rules, multipliers, and mod configurations are managed through INI files located in the server's configuration directory (e.g., Game.ini, GameUserSettings.ini). Command-line arguments often override or supplement these settings.

INSTALLATION AND UPDATES

The server files are typically installed and updated using Valve's SteamCMD utility. This command-line tool allows for automated download and maintenance of dedicated game server files, ensuring the server remains current with the latest game version.

RUNNING AS A BACKGROUND PROCESS

For continuous operation, it's common practice to run the server within a terminal multiplexer like screen or tmux, or configure it as a systemd service. This ensures the server continues to run even if the user logs out and provides robust management capabilities.

HISTORY

The dedicated server for Ark: Survival Ascended (ASA) is the latest iteration of server technology that originated with Ark: Survival Evolved (ASE). Both games, developed by Studio Wildcard, utilize the Unreal Engine, dictating a similar command-line interface for server setup. The `ShooterGameServer` executable has been the core server binary since ASE's launch in 2015. With ASA's move to Unreal Engine 5, the server's underlying architecture was updated, but the command-line arguments and configuration file structure largely remained consistent, reflecting a mature and evolved approach to game server deployment on Linux.

SEE ALSO

steamcmd(1), screen(1), tmux(1), netstat(8), ss(8), journalctl(1), tail(1)

Copied to clipboard