Меню Рубрики

Ark server manager linux

Deploy ARK: Survival Evolved Game Servers

LinuxGSM is the command-line tool for quick, simple deployment and management of Linux dedicated game servers.

ARK: Survival Evolved will run on popular distros as long as the minimum requirements are met.

  • Ubuntu 16.04 LTS
  • Debian 9
  • CentOS 7

Only 32-Bit game server binary is available.

SteamCMD by Valve is used to install and update this game server.

SteamDB

Steam uses appid 376030.
Update history is available from SteamDB.

Before installing, you must ensure you have all the dependencies required to run arkserver.

Ubuntu 64-bit

Debian 64-bit

EPEL is required to install some dependencies needed for using LinuxGSM on CentOS.

CentOS 64-bit

user with sudo access

root user

From the command-line do the following. Ensuring you have also installed the required dependencies.

1. Create a user and login.

For security best practice, ensure you set a strong password. Random password:

All Commands

Running

start

restart

console

To exit the console press CTRL+b d . Pressing CTRL+c will terminate the server.

Updating

update

validate

Debugging

Details

You can get all important and useful details about the server such as passwords, ports, config files etc.

Debug

Use debug mode to help you if you are having issues with the server. Debug allows you to see the output of the server directly to your terminal allowing you to diagnose any problems the server might be having.

Server logs are available to monitor and diagnose your server. Script, console and game server (if available) logs are created for the server.

Backup

Backup will allow you to create a complete tar bzip2 archive of the whole server.

Monitor

LinuxGSM can monitor the game server by checking that the proccess is running and querying it. Should the server go offline LinuxGSM can restart the server and send you an alert. You can use cronjobs to setup monitoring.

Configure LinuxGSM

For details on how to alter LinuxGSM settings visit LinuxGSM Config Files page.

Documentation

For detailed documentation visit the LinuxGSM docs.

GameserverApp is a LinuxGSM partner that offer features that compliment existing LinuxGSM game servers.

Using Rcon; control, monitor and automate your ARK: Survival Evolved LinuxGSM game servers from a web browser.

  • Easily setup automated RCON actions using the drag-and-drop editor.
  • Talk to in-game players or run RCON commands from Discord.
  • Track player stats, see online players and when they play.
  • Manage players, allowing you to kick and ban or send an in-game items.
  • Give other people in your community rcon access.

Add your first 5 LinuxGSM servers for free.

Источник

Ark server manager linux

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio

Latest commit

Git stats

Files

Failed to load latest commit information.

readme.md

Ark Server Manager

This Ark Server Manager provides the following functionality via a Web Interface to manage your Ark Server:

  • Start Ark Server
  • Stop Ark Server
  • Update Ark Server
  • Status of the Ark Server (is it up and running?)
  • Backup Ark Server Save Game

The following image shows the interface.

The following configurations can be done in the Web Interface.

In the scripts folder, shell scripts can be found, that actually do the execution. You can modify those files, if you want the server to be started with other or additional parameters, etc.

  • Linux (so far only tested on Ubuntu, but all Unix-based systems could work)
  • Nodejs (see NodeJS Website or install via package manager of your OS, see NodeJS Package Manager Installation. E.g. for Ubunut/Debian: curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash – sudo apt-get install -y nodejs
  • Git (https://git-scm.com/ or install via package manager of your OS, e.g. apt-get install git on Ubuntu)
  • Ark Server must be installed and steamcmd must be available
  • Ports 3000 and 3001 must be accessible for everyone who shall use the web interface. It might be necessary to configure an according Port forwarding in your router.
  • git clone https://github.com/skanatiker/ark_server_manager to download the program
  • npm install to load all required dependencies
  • node server.js to start the server
  • Go to https:// :3001 . The first call will take a while, don’t worry. Currently you have to accept the certificate, because it is not valid at the moment. See next section about HTTPS. Then login with default username admin and password admin .
  • After your first login the configuration dialog will open up. Please configure all required fields and change your admin password!

Let’s encrypt is being used to generate an individual SSL certificate for everyone who runs the server. For now only the testing mode is used, which only provides non validated certificates. I am working on switching to production ready certificates. It will just take some more time.

As soon as it is available, you will also have to configure your ports a bit differently. Let’s encrypt requires the server to run on Port 80. Therefore you will have to configure a local port forwarding on your server. This could look like:

sudo iptables -t nat -I PREROUTING -p tcp –dport 80 -j REDIRECT –to-port 3000 sudo iptables -t nat -I PREROUTING -p tcp –dport 443 -j REDIRECT –to-port 3001

Support and Feedback

If any questions come up or you just want to give some feedback about the server, please don’t hesitate to contact me via skanatiker.dev@gmail.com.

Intention of this server manager

This server manager has been developed with the intention of playing on a private server with some friends. The server shall not be running all the time. It’ll only be started, when someone actually wants to play. For avoiding SSH connections to the server and the execution of shell scripts manually, i created the server manager. All my friends can login to the web interface and can quickly see whether the server is up and running and if it is not running they can simply start and later on stop server.

Perhaps there are other usecases for it. Just let me know 🙂

Читайте также:  Обновление ядра linux debian

I’ve created a Trello Board, where i collect new feature ideas and everyone can vote for these features to identify the most important ones.

For all the developers out there, i also want to give a short overview on what i used for the Development. Basically it is a Nodejs Express application. The REST services and websockets are secured via JWT. I used express-jwt and jsonwebtoken for this. The SSL handling for HTTPS is done via letsencrypt-express. NEDB has been used for persistence, which uses the MongoDB API, but can be run embedded in the node server.

The frontend is written with AngularJS.

About

Linux based Web Interface to manage your private Ark Server (Beta)

Источник

Ark server manager linux

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio

Latest commit

Git stats

Files

Failed to load latest commit information.

README.asciidoc

ARK: Survival Evolved Linux Server Tools

This tool allows you to manage any ARK: Survival Evolved linux server without having to remember long commands. It provides a lot of features, to get the full list check the Usage section.

Known issue with updating

If updating from 1.6.53 or earlier, you will likely get the following message:

If updating from 1.6.53 or earlier, and arkstUnstable is set, then it is likely to say that a hotfix is available, but fail to install it.

edit arkmanager wherever it is installed, and replace

re-install using the netinstall script below.

ARK Server Tools requires certain packages be installed in order to function correctly.

If running under CentOS or RHEL, you will need the following packages installed:

If running under Debian or Ubuntu, you will need the following packages installed:

Common prerequisites which should normally already be installed are:

If using CentOS 6 or earlier, or Debian 7 or earlier, you will need to compile a newer version of glibc. See https://github.com/arkmanager/ark-server-tools/wiki/Install-of-required-versions-of-glibc-and-gcc-on-RHEL-CentOS

To use ARK Server Tools, you will need to install SteamCMD following this guide:

We assume you have created the steam user to store steamcmd and your ARK server.

To allow your ARK server to communicate with the outside you have to open some ports in your firewall:

NB: Change the ports according to the ones set in your arkmanager.cfg file.

Install ARK Server Tools

To install ARK Server Tools run this command:

NB: You may want to change the bash -s parameter to fit your steam user if different from steam .

If you want to install the arkmanager service, append the –install-service option to the install command.

This will copy the arkmanager script and its daemon to the proper directories and will create an empty log directory in /var/log for ARK Server Tools.

To instead perform a user-install of ARK Server Tools as an unprivileged user, run this command:

Stored in /etc/arkmanager/arkmanager.cfg and /etc/arkmanager/instances/ .cfg you can find the variables needed to start the server, like the port numbers, the system environment variables and so on.

You will need to modify these files with any options you wish to give to the server, and any paths that are non-standard in your environment (e.g. one common one is the path to the appinfo cache).

Also, in these files, you can specify any parameter you want to add to the startup command of ARK server. These parameters must be prefixed by the ark_ string, some example could be:

Your session name may not contain special characters (eg. !![EU]!! Aw&some ARK ) as it could break the startup command. In this case you may want to comment out the ark_SessionName variable and define it inside your GameUserSettings.ini file instead.

To specify an option without an argument (e.g. bRawSockets ), specify an empty argument (e.g. ark_bRawSockets=”” ).

To specify a dash-option without an argument (e.g. -log ), add the option=”” prefixed with arkflag_ (e.g. arkflag_log=”” ).

To specify a dash-option with an argument (e.g. -StructureDestructionTag=DestroySwampSnowStructures ), add the option=value prefixed with arkopt_ (e.g. arkopt_StructureDestructionTag=DestroySwampSnowStructures ).

You can override or add variables for a specific system user creating a file called .arkmanager.cfg in the home directory of the system user.

Each server instance must have its own set of ports. These ports are specified using the ark_Port , ark_QueryPort and ark_RCONPort settings in the instance configuration. If the QueryPort or Port settings are shared between multiple instances, then the server will often either crash or hang without being able to be queried. If the RCONPort setting is shared between multiple instances, the server will hang at 0/0 players.

Install ARK Server

To install ARK Server just run this command as normal user:

arkmanager [Global Options] [Command Options] [Command Args] [Instances]

Prints some help on using the command

Prints the arkmanager version

Exposes the output of SteamCMD

Prints dots for progress

Uses a spinner for progress

Adds the specified option to the server command line; used with run , start , and restart .

Options can be of the form:

Equivalent to adding arkflag_ =true for this run

Equivalent to adding arkopt_ = for this run

Equivalent to adding ark_ =”” for this run

Equivalent to adding ark_ = for this run

Upgrades the ARK server tools to the latest version

Uninstalls the ARK server tools

Lists the available instances

prints a single line with just the instance names

Legacy command for specifying an instance for the following command(s)

Remove the specified mods from the steamcmd workshop directory

Commands acting on instances

All of the following commands take @instancename arguments to specify one or more instances, with the special @all instance selecting all instances.

Runs the server without putting it into the background

Runs the server and puts it into the background

Disables automatic updating on startup if it is enabled

Enable automatically restarting the server even if it crashes without becoming ready for player connections.

Stops the server if it is running

Warns any connected players that the server is going down

Gives a reason for the shutdown. Defaults to maintenance

Читайте также:  Установка kali linux на ноутбук с windows 10

Saves the world using saveworld – usually not necessary, as server usually saves the world on a graceful shutdown

Runs the stop command followed by the restart command. Accepts and passes the options for those commands

Gives a reason for the restart. Defaults to a restart

Downloads and installs (or validates an existing install) of the ARK server

Updates an install of the ARK server (or installs it if it’s not already installed)

Bypasses the check for if an update is available

Only shuts down the server when the server has saved in the past minute

Warns any connected players that the server is going down for an update

Only updates the server when nobody is connected

Re-validates the ARK server install

Saves the world using saveworld – usually not necessary, as server usually saves the world on a graceful shutdown

Updates any installed mods

Backs up the saved world and game config before updating

Sets the staging directory in order to download the update before shutting down the server

Downloads the update but does not apply it. Only has effect if a staging directory is set.

Select the beta to install (use –beta=public to reset to the public branch. Note that –validate is required when switching branches.

Use password to unlock beta (for password-locked betas).

Cancels a pending update / shutdown / restart that was run with the –warn option

Checks if an ARK server update is available

0: No update is available

1: An update is available

Checks if any mods need updating on the server

Reverses the exit code, and adds extra codes for failures

0: An update is available, or workshop files are missing

1: No update is available

2: One or more mods is missing from the workshop

0: No update is available

1: An update is available

2: One or more mods is missing from the workshop

3: appworkshop_346110.acf is missing

4: SteamCMD workshop dir does not exist

Installs all mods specified in the instance config into the ShooterGame/Content/Mods directory

Deletes all mods from the ShooterGame/Content/Mods directory

Installs the specified mods into the ShooterGame/Content/Mods directory

Deletes the specified mods from the ShooterGame/Content/Mods directory

Deletes the specified mods from the SteamCMD workshop directory

Runs the uninstallmod command followed by the installmod command

Lists the mods in the config and/or installed in the server directory

Enables the arkmod_ setting in the instance config. modtype defaults to game .

A mod in GameModIds

The TotalConversionMod mod

Disables the arkmod_ setting in the instance config.

Backs up the saved world and game config files to a compressed tar file in the backups directory specified in the config

Restore a Backup If no file is specified, the latest backup is used (helpful for a new server)

Broadcasts a message to players connected to the server using the RCON broadcast command

Saves the world using the RCON saveworld command

Sends the specified RCON command to the server and prints its response

Sends the specified message using the configured Discord webhook

Prints the status of the ARK server

Prints the config option names and which file they were found in

Prints the server PID

Installs a cron job that executes the specified command. This accepts any of the options the specified command accepts, as well as the following options. In order to specify an argument to the command (e.g. to the broadcast command), use the –arg= option. Please read your man 5 crontab manpage to determine what minute and hour values are valid, as some implementations may not accept e.g. the */n minute / hour specification.

The command should be executed daily

The command should be executed hourly

Specifies one or more hours when the command should execute. This is the hour field of the cron job. If you want to have the command execute every n hours, then use –hour=’*/n’

Default: * (i.e. all hours)

Specifies one or more minutes of the hour when the command should execute. This is the minute field of the cron job. If you want to have the command execute every n minutes, then use –minute=’*/n’

Default: 0 (i.e. the first minute of the hour)

Enables the output from the command – the cron daemon usually emails this to the user specified in the cron configuration

Specifies an argument to pass to the command

Removes a cron job previously installed by install-cronjob

Waits until any or all instances are stopped or online Defaults to any stopped

Waits until any specified instance is in specified state

Waits until all specified instances are in specified state

Waits until instances are stopped

Waits until instances are online

Global configuration is stored in /etc/arkmanager/arkmanager.cfg and/or

The following options cannot be overridden in the instance config files:

Specifies the release channel (git branch) to use when upgrading the ARK server tools

Set by the installer to specify where to install the executable and data files

Paths to the specified instance config files

The default instance to use if no instance is specified

The user under which the tools should be run. Set to –me in

/.arkmanager.cfg in the case of a user-install

The following options can be overridden on a per-instance basis:

The directory in which SteamCMD is installed. Change this to /usr/games if you have the steamcmd package installed on Debian, Ubuntu, or CentOS

The steamcmd.sh executable. Change this to steamcmd if you have the steamcmd package installed on Debian, Ubuntu, or CentOS

The path to the Steam appinfo cache file.

Most systems will have this in $HOME/Steam/appcache/appinfo.vdf , but some systems (especially with the steamcmd package installed) have this instead in $HOME/.steam/appcache/appinfo.vdf . You will need to modify this setting if this is the case.

The path to the Steam workshop log file.

Most systems will have this in $HOME/Steam/logs/workshop_log.txt , but some systems (especially with the steamcmd package installed) have this instead in $HOME/.steam/logs/workshop_log.txt . You will need to modify this setting if this is the case.

The path to the SteamCMD data.

Defaults to $steamcmdroot

Some SteamCMD installations (especially with the steamcmd package installed) store downloaded files (workshop files, etc.) in /home/.steam instead of in the steamcmd directory.

Читайте также:  Принудительно завершить процесс linux

The path to the SteamCMD workshop directory.

Defaults to $steamdataroot/steamapps/workshop

Some SteamCMD installations (especially with the steamcmd package installed) use SteamApps as the steamapps directory instead of steamapps

The relative path within an ARK server install where the ARK server executable can be found.

For the standard ARK server, this should be ShooterGame/Binaries/Linux/ShooterGameServer

The directory in which to store backups. Can be overridden in the instance config.

Command to be run using eval after backup completes. $backupfile will be set to the full path of the backup tar.bz2 file.

e.g. arkBackupPostCommand=’aws s3 cp “$backupfile” “s3://bucket_name/backups”‘

The number of minutes over which the shutdown and update warnings should be run

The relative path within an ARK server install to place the autorestart lock file

Set to true to enable automatically restarting even when the server has not become ready for player connections.

Be aware that this may cause the server to enter an endless crash-restart loop if the cause of the crash is not resolved.

Set to true to enable updating before server startup

Set to true to enable automatic backups before updating

Set to the path to a script to execute on startup if it exists

default: /path/to/instance/config.start where /path/to/instance/config is the path to the instance config file with the .cfg extension removed – e.g. /etc/arkmanager/instances/main.start

Set to the path to an ini file that, if it exists, will overwrite $/ShooterGame/Saved/Config/LinuxServer/GameUserSettings.ini on startup

default: /path/to/instance/config.GameUserSettings.ini where /path/to/instance/config is the path to the instance config file with the .cfg extension removed – e.g. /etc/arkmanager/instances/main.GameUserSettings.ini

Set to the path to an ini file that, if it exists, will overwrite $/ShooterGame/Saved/Config/LinuxServer/Game.ini on startup

default: /path/to/instance/config.Game.ini where /path/to/instance/config is the path to the instance config file with the .cfg extension removed – e.g. /etc/arkmanager/instances/main.Game.ini

Sets the staging directory in order to download updates before shutting down the server

Limits the size of the stored backups

Attempts to boost the priority of the ARK server. Negative values give a higher priority, and positive values give a lower priority. Requires sudo and renice

Attempts to set the CPU affinity of the ARK server. Setting is a comma-delimited list of processor indices on which the server should run. Requires sudo and taskset

msgWarnUpdateMinutes
msgWarnUpdateSeconds
msgWarnRestartMinutes
msgWarnRestartSeconds
msgWarnShutdownMinutes
msgWarnShutdownSeconds

Templated messages for warnings, where %d is replaced with the number of minutes / seconds before the update / restart / shutdown

msgWarnReason
msgTimeMinutes
msgTimeSeconds
msgReasonUpdateApp
msgReasonUpdateMod
msgReasonUpdateAppMod
msgReasonRestart
msgReasonShutdown

Alternative templated messages for warnings with the following replacement parameters:

Valid in msgWarnReason , replaced at runtime with the appropriate msgReason* template

Valid in msgWarnReason and msgReason* , replaced at runtime with the appropriate msgTime* template

Valid in msgReason*Mod , replaced at runtime with a comma-delimited list of updated mod names

Valid in msgTimeMinutes , replaced at runtime with minutes remaining until shutdown

Valid in msgTimeSeconds , replaced at runtime with seconds remaining until shutdown

Used to override which rcon command to use for server broadcasts – e.g. serverchat

Discord Webhook URL – server status messages and update warning messages will be sent through this if specified

Template to use for sending messages through Discord webhook, with the following replacement parameters:

Message to be sent when shutting down. Use – to disable.

Message to be sent when starting. Use – to disable.

Message to be sent when server starts listening. Use – to disable.

Message to be sent when server has stopped listening for more than 1 minute. Use – to disable.

Message to be sent when server has crashed and is being restarted. Use – to disable.

Extra variables to be used to replace < >replacement parameters in notify message.

e.g. notifyvar_instancename=”My Instance” will replace with My Instance in the notify message.

Disable notification at start of shutdown warning period

Notify command to run. Notify message will be in $ , and templated message will be in $

e.g. notifyCommand=’echo “$msg” | mailx -s “Message from instance $ on server $” “email@domain.com”‘

Specifies where to store log files

The Steam AppID of the ARK server

The Steam AppID of the ARK client (used for downloading mods)

The Mod branch ( Windows or Linux ) to use. Virtually all mods use the Windows branch for the ARK server, and the Linux branch almost always crashes the server

ARK server options:

The map the server should use

Uses the -MapModID= ?…​ option to specify the server map mod ID

Specifies the options to use in the Map?Option=Val?…​ option string passed to the server

Specifies an option without a value – Map?Option?…​

Specifies a dash-option without a value (i.e. flag) – e.g. arkflag_DisableDeathSpectator=true adds the -DisableDeathSpectator flag

Specifies a dash-option with a value – e.g. arkopt_StructureDestructionTag=DestroySwampSnowStructures adds the -StructureDestructionTag=DestroySwampSnowStructures option.

True if the Port option should be passed untouched. False for the old behaviour of decrementing the Port .

Instance config files

Instance config files are stored under /etc/arkmanager/instances/ .cfg ,

/.config/arkmanager/instances/ .cfg or as specified in the configfile_ options in the global config.

The directory under which the ARK server is installed

The map the server should use

Uses the -MapModID= ?…​ option to specify the server map mod ID

Specifies the options to use in the Map?Option=Val?…​ option string passed to the server

Specifies an option without a value – Map?Option?…​

Specifies a dash-option without a value (i.e. flag) – e.g. arkflag_DisableDeathSpectator=true adds the -DisableDeathSpectator flag

Specifies a dash-option with a value – e.g. arkopt_StructureDestructionTag=DestroySwampSnowStructures adds the -StructureDestructionTag=DestroySwampSnowStructures option.

Specifies a mod that can be enabled or disabled using enablemod and disablemod . Note that mod ids specified using these options are in addition to those specified directly in the ark_GameModIds option, and override those specified in the ark_MapModId , serverMapMod and ark_TotalConversionMod options. Options are processed in the order they are specified in the instance config file, and arkmod_* options in the common config file are not applied. Mod types:

A mod to be specified in GameModIds

The mod to be specified in MapModId

The mod to be specified in TotalConversionMod

Источник

Adblock
detector