Giter VIP home page Giter VIP logo

arma-server-manager's Introduction

Arma Server Manager

An administration web app for managing your Arma and DayZ servers

SHOW SCREENSHOT

Main dashboard screenshot

More screenshots

Features

  • Support for Arma 3, Arma Reforger, DayZ and DayZ Experimental servers
  • Automatically install and update server installations
  • Download and manage Steam Workshop mods for Arma 3 and DayZ
  • Import and export lauchher HTML mod presets
  • Configure, run and monitor multiple servers at once
  • Configure custom server difficulty
  • Arma 3 scenarios management
  • Docker image for simplified setup
  • Support for simplified management of additional game servers

Installation

Prerequisites

Running with Docker

In the repository, you can find two files: docker-compose.yml and .env.EXAMPLE. Copy them into a desired directory on your server.

Then, rename the .env.EXAMPLE file to .env and open it. Inside, you will find some properties that need configuration. There are comments for each property that will help you with the setup.

After you've set up the values and saved the file, you can run docker compose up, which will automatically bring the database and the server manager up. It should then be accessible on port 8080 by default.

NOTE: Some users were reporting issues when running this app with Portainer. Before this is resolved, I recommend using just the provided docker-compose.yml file.

Custom installation (no Docker)

Custom installation steps

Installing SteamCMD

Follow this guide to install SteamCMD on your server. After the installation is finished, set the full path to SteamCMD executable in application.properties. On Linux, the default path when installing with package manager is /usr/games/steamcmd.

Configuring the Admin UI app

There is a config directory bundled with the .jar executable file. In it, you will find application.properties.EXAMPLE file which contains sample configuration. Copy this file and name it application.properties.

Open the new file and set all the required properties as described.

Setting up MySQL database with Docker

In the project you can find docker-compose.yml file for the MySQL database Docker container. Edit the environment variables to match application.properties, especially the database properties, comment out the armaservermanager service and then start the container with docker-compose up -d.

You can also use your own MySQL database server instead if you prefer do to so.

Running the Admin UI app

Launch the application by running: java -jar arma3-server-gui.jar. You should be able to access the GUI through http://localhost:8080 by default.

First time setup

Getting SteamAuth token

If you have Steam Guard 2FA enabled on your Steam account, you're going to need to get a SteamAuth token. To do this, either manually launch SteamCMD with a command line and log in, or use the semi-automated approach through UI.

NOTE: Currently, there is no support for 2FA authentication with Steam mobile application.

Option 1: Obtain Steam Guard token through UI

Upon first start, head to "App config" tab and fill out your Steam username and password. Then, head to "Dashboard" and try to download any available server.

After a while, the installation will fail because of invalid credentials. However, at this time, you should have received an email with Steam Guard token, which you can now add in the "App Config" tab.

Option 2: Manually logging into SteamCMD

Type login <your_steam_name> and input password when prompted. Then you'll be prompted to input Steam token which will be sent into your email. Enter it to successfully login and then type quit to exit the SteamCMD interface.

Setting up SteamAuth

In the GUI, navigate to "App config" tab. Here you need to enter your Steam account username, password and the token which you previously received through e-mail. This is needed to interact with SteamCMD to install/update the server and any workshop mods.

Installing servers

After setting up the SteamAuth, navigate to "Dashboard" tab and just click the "Update" button on the servers you want to install.

Note: DayZ (stable) server is currently only supported on Windows. You can use DayZ Experimental on Linux in the meantime.

Next steps

The main part of the installation is now done. You can now go:

  • set up your first server from the Servers tab
  • install workshop mods for Arma 3 and DayZ in the Mods tab
  • upload scenarios in the Scenarios tab

Additional servers

If you need to manage other servers than the ones natively supported, you can use the Additional servers feature. This allows you to start and stop any gaming servers you have previously installed on the machine.

Setup of an additional server requires you to access the database directly and import the settings manually.

Recommended steps
  1. Install the server you wish to control with the app
  2. Create a shell script used to start the server executable with necessary parameters
  3. Execute the following statement in the database (e.g. using PgAdmin which comes with the basic docker-compose file)
INSERT INTO `additional_server` (`id`, `name`, `command`, `server_dir`, `image_url`)
VALUES (0,
        'Minecraft',
        '/path/to/minecraft.sh',
        '/path/to/minecraft/server/directory',
        'https://optionalIconUrl.com/minecraft.png');

After the setup, you should be able to see the server listed in Additional servers tab, and start it with a click of a button.

Planned features

  • Built-in headless client support
  • Arma 4 support :))

Support

"Buy Me A Coffee"

Enjoy my work? You can Buy me a coffee

Credits

This app is heavily based on Dahlgren's Arma Server Admin project and I took a lot of inspiration from it on how to make things work. Check out his project too!

arma-server-manager's People

Contributors

fugasjunior avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.