Stormancer.GameServers.Agent 0.5.0.9-pre

This is a prerelease version of Stormancer.GameServers.Agent.
There is a newer prerelease version of this package available.
See the version list below for details.
dotnet tool install --global Stormancer.GameServers.Agent --version 0.5.0.9-pre                
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest # if you are setting up this repo
dotnet tool install --local Stormancer.GameServers.Agent --version 0.5.0.9-pre                
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=Stormancer.GameServers.Agent&version=0.5.0.9-pre&prerelease                
nuke :add-package Stormancer.GameServers.Agent --version 0.5.0.9-pre                

The Stormancer.GameServer.Agent tool provides a way to control a docker daemon to start, monitor and stop gameservers linked to Stormancer gamesessions.

Installation

Prerequisites

apt-get install docker.io

Install the agent

First create a tool manifest in the folder you want your agent to run from

dotnet new tool-manifest

Then install the Stormancer.GameServer.Agent tool

dotnet tool install --local Stormancer.GameServers.Agent --version <current-version>

Configuration

"Agent": {
  "StormancerEndpoint": "https://serverendpoint.com",
  "StormancerAccount": "account",
  "StormancerApplication": "app",
  "PrivateKeyPassword": "password",
  "PrivateKeyPath": "<path-to-the-private-key-authenticating-the-agent.pfx>"
}

Setting up core dumps

  1. Run echo '/tmp/core-dump.%p' | sudo tee /proc/sys/kernel/core_pattern on the agent to setup the host core pattern.

For more information about the core_pattern : https://www.kernel.org/doc/html/latest/admin-guide/sysctl/kernel.html#core-pattern

To make the change in the host core pattern permanent, add kernel.core_pattern = /tmp/core-dump.%p to /etc/sysctl.conf, then reload it with sysctl -p

  1. Set the CorePath value in the agent configuration to the path of the generated core dump in the container.

    "Agent":{ "CorePath":"/tmp/core-dump.PID" }

Once it's done, if a game server doesn't stop with exit code 0, the agent will zip the server logs, the set of files specified in the app config and the generated core dump, and store the resulting archive in the diagnostics system for later download.

Agent as a service (ubuntu)

Create a service file (gameservers-agent.service) in /etc/systemd/system using nano or your favorite text editor

sudo nano /etc/systemd/system/gameservers-agent.service

  • A sample service file would be as follow:
[Unit]
Description=Game server agent
After=network-online.target

[Service]
Type=simple

#a user with sufficient permissions
User=root 

ExecStart=/usr/bin/dotnet tool run stormancer-gameservers-agent
#use your agent installation folder as WorkingDirectory
WorkingDirectory=/home/agent

Restart=on-failure

TimeoutStopSec=30

[Install]
WantedBy=multi-user.target
  • Enable the service

sudo systemctl daemon-reload sudo systemctl enable gameservers-agent.service

  • Start the service

sudo systemctl start gameservers-agent.service

Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last updated
0.5.1.2-pre 95 3/11/2024
0.5.1.1-pre 114 3/11/2024
0.5.1-pre 123 1/17/2024
0.5.0.24-pre 134 12/13/2023
0.5.0.23-pre 162 11/14/2023
0.5.0.22-pre 119 11/13/2023
0.5.0.21-pre 128 11/12/2023
0.5.0.20-pre 149 11/12/2023
0.5.0.19-pre 170 11/12/2023
0.5.0.18-pre 138 11/12/2023
0.5.0.17-pre 147 11/12/2023
0.5.0.16-pre 172 11/12/2023
0.5.0.15-pre 126 11/11/2023
0.5.0.10-pre 105 11/7/2023
0.5.0.9-pre 222 11/3/2023
0.5.0.8-pre 203 11/3/2023
0.5.0.6-pre 210 11/3/2023
0.5.0.5-pre 209 11/3/2023
0.5.0.4-pre 269 10/25/2023
0.5.0.3-pre 261 10/25/2023
0.5.0.2-pre 257 10/17/2023
0.5.0.1-pre 262 5/11/2023
0.5.0-pre 223 5/11/2023
0.4.0-pre 237 5/9/2023
0.3.0.8 232 5/9/2023
0.3.0.8-pre 273 5/5/2023
0.3.0.7-pre 206 5/3/2023
0.3.0.6-pre 276 4/26/2023
0.3.0.5-pre 190 4/26/2023
0.3.0.4-pre 211 4/18/2023
0.3.0.2-pre 338 4/13/2023
0.3.0.1-pre 254 4/13/2023
0.3.0-pre 216 4/13/2023
0.2.1.3-pre 254 4/6/2023
0.2.1.2-pre 250 4/6/2023
0.2.1.1-pre 285 4/6/2023
0.2.1-pre 281 4/6/2023
0.2.0 218 4/4/2023
0.2.0-pre 259 3/31/2023
0.1.0-pre 295 3/21/2023