Tag Archives: Gaming

Was wir von Gamern für Videokonferenzen lernen können!

Es gibt einige Gamer unter uns, die spielten World of Warcraft aber um so mehr CS Go oder Minecraft oder auch Quake gespielt haben. Neben den Lan-Parties und wurde nicht nur über das Netzwerk gesprochen, sondern auch Server aufgesetzt. Sie hießen ICQ, IR, Teamspeak oder Discord. Man verwendete und verwendet diese Werkzeuge heute wie selbstverständlich. Was können wir von unseren Gamern/in lernen? 

Continue reading

MVP Kaffeeklatsch 5. Ausgabe – Gaming

Episode-5-1415x688-320x156

Die 5 Episode ist im Kasten und diesmal steht die Episode ganz im Zeichen des Gaming, Windows 10, Game-Streaming und vielem mehr. Ich will euch natürlich nicht alles verraten, denn es gibt auch ein Gewinnspiel zu unserem Intro. Wer es errät kann tolle Preise gewinnen 🙂

Für alle Gäste wird es auch eine coole MVPKaffeeklatsch Tasse geben.

Also hört rein: http://mvpkaffeeklatsch.de/mvp-kaffeeklatsch-005-alles-gamer/

Gamingserver auf Azure hosten: ARMA III

Nachdem nun der erste Beitrag des Hosting eines Teamspeak Servers auf Azure so viel Aufmerksamkeit erlangt hat, habe ich mit einen Co Autoren gesucht. Er stammt aus meinen IT Kursen an einem Gymnasium und hat mich tatkräftig unterstützt diesen Beitrag zu verfassen:

Nun wollen wir euch kurz näher erläutern, wie man einen Arma 3 – Gameserver auf Azure hostet und betreibt. Das Hosting wird auf der Azure A1 Maschine durchgeführt, der auch schon für Teamspeak genutzt wurde. Teamspeak soll ebenso parallel laufen. Die VM A1 genügt für Spielerzahlen bis 100 Spieler und zeigt sich in einem Test performant. Es empfielt sich jedoch für ein besseres Spielerlebnis auf einen größeren Server zurückzugreifen, denn so hätte man noch einige Reserven. Die VM bei Azure schlägt mit rund 42 Euro pro Monat zu buche.

Anleitung:

1. Vorbereitung

  • Ihr müsst einen SteamAccount besitzen
  • Auf dem Server muss Windows Server 2008 oder höher laufen. Eine Anleitung für Linux folgt später. In Azure wäre dies ein Windows Server 2012 R2 Datacenter.

2. Nun installiert ihr DirectX auf Azure.

3. Nun erstellt ihr im Stammverzeichnis (meist C://) die Folgenden 2 Ordner:

(1) c:\\steamcmd

(2) c:\\Arma3_Server

4. Als nächstes müsst ihr die SteamCMD runterladen, in den Ordner (1) verschieben und dort entpacken.

5. Nun müsst ihr die steamcmd.exe öffnen.

6. Jetzt müsst ihr die Datei “ Arma3server_steamcmd_example.cmd ” erstellen und diese im Ordner (2) speichern.

7. Diese Datei muss den folgenden Inhalt haben, ihr müsst hierbei die rotgedruckten Variablen mit den Pfaden beziehungsweise euren Steam-Daten ersetzen. Diese werden benötigt, um die ServerFiles von den Steam-Servern runterzuladen.

@echo off
@rem http://media.steampowered.com/installer/steamcmd.zip
SETLOCAL ENABLEDELAYEDEXPANSION
    SET STEAMLOGIN=Steam-Benutzername Passwort
    SET A3serverBRANCH=233780 -beta
        :: For stable use 233780 -beta
        :: For Dev use 233780 -beta development
                :: Note, the missing qotation marks, these need to be wrapped around the entire "+app_data......"
                :: There is no DEV branch data yet for Arma 3 Dedicated Server package !!!

    SET A3serverPath=X:\Arma3_Server
        SET STEAMPATH=X:\steamcmd
:: _________________________________________________________
echo.
echo     You are about to update ArmA 3 server
echo        Dir: %A3serverPath%
echo        Branch: %A3serverBRANCH%
echo.
echo     Key "ENTER" to proceed
				

pause

%STEAMPATH%\steamcmd.exe +login %STEAMLOGIN% +force_install_dir %A3serverPath% +”app_update %A3serverBRANCH%” validate +quit

echo .

echo Your ArmA 3 server is now up to date

echo key “ENTER” to exit

pause

 

8. Nun lädt das Programm den Server selbstständig runter und ihr müsst nur warten.

9. Wenn das Programm fertig ist, erstellt ihr zur Arma3Server.exe eine Verknüpfung auf dem Desktop der VM.

10. Dieser Verknüpfung fügt ihr nun unter RechtsklickàEigenschaftenàDateipfad folgende Parameter hinzu:

“-profiles=d:\Games\Arma3\A3Master” -config=CONFIG_Vanilla.cfg -world=empty -port=2302

11. Nun müsst ihr das Port Forwarding einrichten. Hierbei müssen folgende Regeln erstellt werden:

Eingehend:

  • 2302 (Arma3 Game port) + (VON is now part of main gameport due to NAT issues)
  • 2303 (STEAM query )
  • 2304 (Steam port)
  • 2305 (VON port – not used, but allocated)

Ausgehend:

Ziel-Port

Protokoll

Ziel-IP

Kommentar

2344 TCP+UDP 81.0.236.111 BattlEye – arma31.battleye.com
2345 TCP 81.0.236.111 BattlEye – arma31.battleye.com
2302-2305 UDP any Arma Server zum Client Traffic
2303 UDP any Arma Server STEAM query port
2304 UDP any Arma Server to STEAM master traffic

 

12. Nun müsst ihr die CONFIG_Vanilla.cfg erstellen und diese im Ordner (2) speichern. Auch hier müsst ihr die Variablen ausfüllen. Diese muss folgenden Inhalt haben:

//

// server.cfg

//

// comments are written with “//” in front of them.

// STEAM

steamPort = 8766; // default 8766, needs to be unique if multiple serves on same box

steamQueryPort = 27016; // default 27016, needs to be unique if multiple servers on same box

// GLOBAL SETTINGS

hostname = “My Server: My Teamspeak address“; // The name of the server that will be displayed in the public server list

//password = “ServerPassword“; // Password to join the server

passwordAdmin = “AdminPassword“; // Password to become server admin. When you’re connected to the server, open the chat and type ‘#login password’

//reportingIP = “arma3pc.master.gamespy.com”; // not used anymore in Arma 3

logFile = “arma3server.log”;

verifySignatures = 2; // Prevent players with unknown mods from joining the server (best kept at 2 if you want to reduce the number of hackers)

equalModRequired = 0; // Prevent players who don’t have the exact same mods as the server from joining (best kept at 0)

requiredSecureId = 2; // was used to define type of secureID

// WELCOME MESSAGE (“message of the day”)

// It can be several lines, separated by comma

// Empty messages “” will not be displayed at all but are only for increasing the interval

motd[] =

{

    “Welcome to My Arma 3 Server“,

    “TS3 Server: teamspeak.somewhere.com“,

    “Web: www.example.com

};

motdInterval = 30; // Time interval (in seconds) between each message

// JOINING RULES

maxPlayers = 40; // Maximum amount of players. Anybody who joins the server is considered a player, regardless of their role or team.

kickDuplicate = 1; // Each player normally has its own unique ID. If set to 1, players with an ID that is identical to another player will be kicked

//requiredBuild = 12345; // Require clients joining to have at least this build version of game, preventing obsolete clients to connect

// VOTING

voteMissionPlayers = 1; // Tells the server how many people must connect before displaying the mission selection screen, if you have not already selected a mission in this config

voteThreshold = 0.33; // Percentage (0.00 to 1.00) of players needed to vote for something, for example an admin or a new mission, to become effective. Set to 9999 to prevent people from voting random players as admins.

// MISSIONS CYCLE

class Missions

{

    class Mission1

    {

        template=”MyMission.Stratis”;

        difficulty=”Regular”;

    };

};

// INGAME SETTINGS

disableVoN = 0; // If set to 1, voice chat will be disabled

vonCodecQuality = 10; // Supports range 1-30; 8kHz is 0-10 (narrowband), 16kHz is 11-20 (wideband), 32kHz is 21-30 (ultrawideband); higher = better sound quality

persistent = 1; // If set to 1, missions will continue to run after all players have disconnected

timeStampFormat = “short”; // Set the timestamp format used on each line of the server RPT log file. Possible values are “none” (default), “short”, “full”.

BattlEye = 1; // If set to 0, BattlEye Anti-Cheat will be disabled on the server (not recommended)

// FILE EXTENSIONS

allowedLoadFileExtensions[] = {“hpp”,”sqs”,”sqf”,”fsm”,”cpp”,”paa”,”txt”,”xml”,”inc”,”ext”,”sqm”,”ods”,”fxy”,”lip”,”csv”,”kb”,”bik”,”bikb”,”html”,”htm”,”biedi”}; // only allow files with those extensions to be loaded via loadFile command (since Arma 3 build 1.19.124216)

allowedPreprocessFileExtensions[] = {“hpp”,”sqs”,”sqf”,”fsm”,”cpp”,”paa”,”txt”,”xml”,”inc”,”ext”,”sqm”,”ods”,”fxy”,”lip”,”csv”,”kb”,”bik”,”bikb”,”html”,”htm”,”biedi”}; // only allow files with those extensions to be loaded via preprocessFile/preprocessFileLineNumber commands (since Arma 3 build 1.19.124323)

allowedHTMLLoadExtensions[] = {“htm”,”html”,”xml”,”txt”}; // only allow files with those extensions to be loaded via HTMLLoad command (since Arma 3 build 1.27.126715)

// SCRIPTING ISSUES

onUserConnected = “”; // command to run when a player connects

onUserDisconnected = “”; // command to run when a player disconnects

doubleIdDetected = “”; // command to run if a player has the same ID as another player in the server

// SIGNATURE VERIFICATION

onUnsignedData = “kick (_this select 0)”; // command to run if a player has unsigned data

onHackedData = “kick (_this select 0)”; // command to run if a player has data with invalid signatures

onDifferentData = “”; // command to run if a player has modified data

13. Nun startet ihr einmal die Arma3Server.exe und schaut, ob sich ein Konsolenfenster öffnet und dort keine Fehlermeldungen stehen. Jetzt schließt ihr den Server wieder.

14. Dann könnt ihr die nun generierten Dateien des Servers euren Wünschen nach editieren.

15. Startet nun den Server erneut. Ihr werdet diesen nun unter der externen IP eurer VM im Arma 3-ServerBrowser finden.

16. Loggt euch auf dem Server ein und meldet euch als Admin an. Dies macht ihr, indem ihr das Chatfenster ( Standard: – ) öffnet und dort #login Adminpasswort eingebt. Das Adminpasswort ist das Passwort aus der config-Datei.

17. Als letztes müsst ihr jetzt #missions eingeben. Ihr bekommt dann eine Übersicht über alle Spieler und Missionen und könnt diese dann auswählen.
Wir hoffen, das Erstellen eines Servers auf Azure ist euch durch unsere Anleitung leichter gefallen.

Also herzlichen Dank an Florian!

Als nächstes folgt ein Minecraft-Server.

 

Nun noch ein paar Screens aus dem Test:

 

Server startet in Azure auf einem WindowsServer2012R2 Datacenter

serverconsole.server.startet

 

Spieler auswählen im Client

User-Auswählen

Ping zum Azure Server in Dublin:

serverauslastung Client

parallel ein Screen des Taskmanagers auf dem Server in Azure:

server_mission-bearbeiten

Server im laufenden Betrieb

Mission-aktiv-vollauslastung

 

Client verbunden mit dem Server – Mapauswahl

Mission_laden

Mission_geladen1

 

Gamingserver auf Azure hosten

Mit Azure ist es aktuell möglich sehr nützliche Sachen zu machen im Bereich des Business zu machen. Alles auch sehr viele Dienste gehen in die Cloud und nutzen die Zentralisierung und das Ressourcenmanagement eines Rechenzentrums aus.

Neben dem Webseitenhosting, dem Angebot an mobilen Clouddiensten, Azure AD und noch vieles mehr, sind die Leistungen und Angebote von Azure aktuell hauptsächlich auf den Businessbereich konzentriert. Auch ich habe Azure bisher nur genutzt um eine Azure AD zu erstellen, um mobile Dienste in Apps zu nutzen oder rechenintensive Berechnungen durchzuführen. Natürlich nutze ich Azure auch als Trainer, so dass ich mit einem Surface Pro und einer guten Internetverbindung fast alle Trainings im Bereich IT Pro und Dev und gerade bei Office 365 erledigen konnte.

Nun sprachen mich Jugendliche in meinem vergangenen Cyber Security Kurs an, ob man ihre Gamingserver und Teamspeak nicht auch bei Azure hosten könnte. Nach einer kurzen Recherche zeigte sich, dass Microsoft und Dritte diese Zielgruppe noch nicht im Fokus haben. Also musste man selber testen und ausprobieren, wie man Gamingserver auf Azure hostet. Viele uns Geeks haben in ihrer Kindheit am Rechner gespielt, wer erinnert sich nicht noch an LAN-Parties, bei denen zu 2/3 manuell ein Netzwerk gebaut wurde und zu 1/3 gespielt oder gezockt.

 

Gamingserver:


Es ist  möglich eigene GamingServer zu hosten. Meiner Recherche nach können mehr als 80 Server selber gehostet werden. Davon sind ca. 60 Stück legal und unter den gegebenen Lizenzbestimmungen selber zu hosten. So können sich Gamer unabhängig von den Servern des jeweiligen Spieleanbieters machen und teilweise eigene Mission kreieren und diese mit den Freunden spielen.

Dementsprechend suchte ich mir als Beispiel drei Server aus, die es galt auf Azure zu hosten. Es besteht die Möglichkeit Server in AZURE entweder auf Linux Basis oder auf Windows Basis zu hosten. Der Preis bei Azure unterscheidet sich nicht, ob man sich nun für Linux oder für Windows als Hostplattform entscheidet.

Ich habe mich also dazu entschieden die WindowsPlattformen zu nutzen und damit einen Windows Server 2012 R2 Datacenter. Nun stand die Auswahl der richtigen VM. Ich entschied mich zunächst für eine A1 mit ca. 42 Euro im Monat (2 GB, 1 mal 2,20 GHZ). Diese sollte ausreichen um zwei Gamingserver und Teamspeak gleichzeitg zu hosten.

Damit dieser Artikel nicht zu lang wird, schaut bitte meine Beiträge in den anderen Posts an:

TeamSpeak (Anleitung findet ihr hier!)
Arma III  (Anleitung findet ihr hier!)
Minecraft folgt in Zukunft

Ich werde in Zukunft weitere Gamingserver testen und auch über deren Preis-Leistungsverhältnis sprechen. Auf dem Markt der Gamingserver findet man recht viele Anbieter, die neben Teamspeak auch unterschiedliche viele Gamingserver anbieten. Man zahlt wie bei Azure monatlich und kann entsprechend mit bis zu 10 oder mehr Usern diesen Server nutzen. Bei der Nutzung muss der Gamer jedoch immer auch das eigentliche Spiel besitzen, der Server alleine genügt nicht.

Interessant ist, dass die meisten Gamingserver über keine GUI verfügen, sondern per Scriptbefehle gesteuert werden. Sie sollen so wenig CPU und Ram für die Verwaltung aufbringen müssen, sondern ihre gesamte Leistung in ihre Aufgabe das Hosten der Spieleplattform stecken.

Der Unterschied der Leistungsanforderungen ist schon gewaltig. Da benötigt ein Teamspeak Server gerade einmal 100MB und 1-0,5% CPU und ein Arma III Server mit einer großen Karte, 50 Spielern und jede Menge Effekten  kommt da schon auf gut 95% CPU Auslastung und 700-800 MB Ram. Ich werde bezüglich der steigenden Anforderungen den Lastausgleich und auch das Hosten von Gamingservern als Serverfarm testen. Aber dies folgt.

Einfache Installation

Einen Gamingserver auf Azure zu hosten ist denkbar einfach. Server von Azure deployen lassen, Firewall einstellen, Endpunkte für die Ports setzen und den Server starten. Nun folgt die übliche Konfiguration, aber auch dies ist schnell erledigt.

Schauen wir uns den Teamspeak Server an, dauerte die Installation und Einrichtung nur für Azure 15 Minuten und für den gesamten Server unter 30 Minuten. Wenn Microsoft die Erstellung von mehreren Endpunkten gleichzeitig ermöglicht, wäre ich schon nach 10 Minuten fertig gewesen.

Für Teamspeak musste ich nur zwei Endpunkte setzen: TCP: 10011 & UDP: 9987

Azure als Hoster für Gamingserver

Wenn ich mir nun das Preis-Leistungsverhältnis von Azure zu anderen Drittanbietern ansehen, dann kann Azure eine gute Rolle spielen, wenn es als Plattform für Gamingserver gesehen wird. Vielleicht bietet Microsoft bald mit dem Minecraft-Server einen ersten Gamingserver auf Azure direkt als VM an.

Der Vorteil von Azure liegt auf der Hand: ein Rechenzentrum in der EU,  99,99 SLA, flexible Preisgestaltung (Server ausschalten und weniger zahlen),  Serverlizenz inbegriffen, Server kann auch als Fileserver etc genutzt werden, mehrere Gamingserver können installiert werden, besonders einfache Installation.

Mitmachen

Ich werde versuchen Microsoft bald zu besuchen und meine Fragen loszuwerden. Wer sich an meinem Experimenten gerne beteiligen möchte schreibe mir eine E-Mail: raphael.koellner@rakoellner.de

Wer für Lasttests zur Verfügung stehen will und einen Abend sein Business, Business sein lassen will, schreibe mir auch gerne eine E-Mail. Ich freue mich über den Erfahrungsaustausch.

Lizenzen bei Gamingservern

In einem der nächsten Blogbeiträge widme ich mich den Lizenzbestimmungen von Gamingservern. Auf einen ersten Blick laufen diese aktuell ähnlich der GPL, NPL, EPL, die wir schon aus dem OPEN Scource Bereich kennen. Alles weitere dann in einem er nächsten Blogposts.

 

 

 

 

 

 

 

 

 

Frage im Rahmen des AZURE Adventskalender:
Welche beiden Ports müssen über Endpunkte in Azure geöffnet werden, um einen  TeamspeakServer nutzen zu können?

Antworten:
1. 8080 TCP + 11011 UDP

2. 1459 UDP + 9857 TCP

3. 3389 TCP + 11011 UDP

4. 10011 TCP + 9987 UDP