Gameserver

Eigene dedizierte Gameserver für Quake, Half-Life, Counter-Strike und mehr. Erfahrungen aus dem Betrieb, Konfigurationstipps und Clan-Server-Setup aus der aktiven Zeit mit dem Death Angels Clan.

Quake Arena & CTF
CS Counter-Strike
HL Half-Life Mods
Linux Plattform

// Server

Quake III Arena

Clan-Server für Quake III — konfiguriert für Deathmatch und CTF. Mit angepasster Konfiguration, Map-Rotation und Passwortschutz für Clan-Wars.

Engineioquake3
ModusDM, CTF, TDM
OSLinux (Debian)
Port27960 (Standard)
🔫

Counter-Strike

Half-Life / Counter-Strike 1.6 Server auf Basis von HLDS. Mit AMX Mod X für Adminverwaltung, automatischen Map-Wechseln und Anti-Cheat.

EngineHLDS (Half-Life Dedicated)
ModusCS 1.6, Classic
PluginAMX Mod X
Port27015 (Standard)
🌍

Half-Life Mods

Verschiedene Half-Life Mods liefen auf dem Server — darunter Team Fortress Classic, Day of Defeat und Natural Selection in ihren frühen Versionen.

ModsTFC, DoD, NS
EngineGoldSrc
MapsCustom + Vanilla

// Server Setup

Gameserver auf Linux einrichten

  • 1
    Linux-Server vorbereiten

    Einen Root- oder VPS-Server mit Debian/Ubuntu mieten. Mindestens 1 GB RAM, 10 GB Speicher, gute Anbindung.

  • 2
    Eigenen User anlegen

    Niemals als root spielen. Separater User gameserver mit eingeschränkten Rechten.

  • 3
    SteamCMD installieren

    Für Valve-Spiele (CS, HL) SteamCMD nutzen. Hält Server automatisch aktuell und verwaltet die Game-Dateien.

  • 4
    Konfiguration anpassen

    server.cfg editieren: Servername, Passwort, Tickrate, Maps, Admin-Zugänge.

  • 5
    Firewall & Port-Freigabe

    UDP-Port des Servers in der Firewall freigeben. Für CS: 27015 UDP, für Q3: 27960 UDP.

server.cfg — Counter-Strike 1.6
// Serverinfo hostname "[DA] Death Angels Clan Server" sv_password "" // leer = öffentlich rcon_password "geheimespasswort" // Spieleranzahl & Timing maxplayers 16 sv_maxrate 25000 sv_minrate 2500 sys_ticrate 1000 // Anti-Cheat & Regeln sv_cheats 0 mp_friendlyfire 1 mp_roundtime 2 mp_buytime 0.25 // Map Rotation exec mapcycle.cfg

// Death Angels Clan

Der Clan hinter dem Server

Die Gameserver liefen primär für den Death Angels Clan — eine der frühen deutschen Quake- und Counter-Strike Clans. Der Server war Treffpunkt für Training, Wars und spontane Matches.

Wars wurden über den IRC-Warplaner koordiniert, Ergebnisse im Channel gepostet, und der Eggdrop-Bot hat den Überblick behalten. Ein komplettes Ökosystem aus IRC, Bot und Gameserver.

Clan-Website: Die originale Death Angels Website ist unter deathangels.com zu finden.
ioquake3.cfg — War Setup
// Clan War Konfiguration set sv_hostname "[DA] War Server" set g_password "warpasswort" set sv_maxClients 10 set g_inactivity 0 // Spielmodus set g_gametype 4 // CTF set fraglimit 0 set capturelimit 8 set timelimit 20 // Map map q3ctf1

// Action Quake 2

AQ2 Server — Death Angels Main

=DA=Pain — das war mein Game-Name als Server-Admin und Clan-Member der Death Angels. Der AQ2-Server lief auf Linux (SuSE 7.2 / 9.0), erreichbar unter 217.160.108.163:27910, Hostname: Death Angels-Main.

Was wird benötigt?

  • 1
    AQ2 Client Installation

    Standard AQ2-Client mit Maps, Skins etc.

  • 2
    Quake2 Linux Binary

    Version 3.21 unofficial bugfixed

  • 3
    AQ2TNG Linux Binary

    AQ2TNG 2.8 — kommt als gamei386.so in den action/ Ordner

  • 4
    Config Files

    action.ini, maplist.ini, server.conf

Server starten

Shell — AQ2 Server starten
# Mit screen starten — läuft nach SSH-Logout weiter screen -S action ./quake2 +set dedicated 1 +set game action +exec server.conf # Screen wieder verbinden nach Logout: screen -r action
Warum screen? Screen sorgt dafür, dass der Server auch nach dem Ausloggen aus der SSH-Session weiterläuft — unverzichtbar für Dauerbetrieb.

Server-Konfiguration

server.conf — Death Angels Main
// =Death Angels= AQ2 Server // by robkey.de aka =DA=Pain game "action" hostname "Death Angels-Main" set port "27910" set fraglimit "0" set timelimit "20" set roundtimelimit "3" set roundlimit "15" set maxclients "14" // Teams & Gameplay set deathmatch "1" set teamplay "1" set actionmaps "1" // Map-Voting set use_mapvote "1" set mapvote_pass "60" // IRC-Integration set ircserver "de.quakenet.org" set ircuser "|DA-Main|" set ircchannel "#da.tv" ircbot 1 // Erste Map laden map cloud

Map-Rotation (action.ini)

action.ini — Teams & Maps
// Teams [team1] Beckum Leathernecks [team2] Berlin Rangers [team3] Charlie ### // Map Rotation [maplist] tokyo · jungle1 · rok · city deepcanyon · cloud · teamjungle tension1 · urban2 · riotx actcity2 · cliff2 · urban ###

Vollständiger Map-Pool (maplist.ini)

Der Server hatte über 150 Maps zur Verfügung — von Klassikern wie actcity, airport, downtown bis zu Community-Maps. Per Map-Voting konnten Spieler die nächste Map wählen.

maplist.ini — alle verfügbaren Maps
actcity · actcity3 · actdam · airliner · airport · aqnitro · arcadia · bar · basev28 · beachassault · beer · beware · bldg17 · blood · border · bronx · camel · campblud · church1 · cinema · cinema3 · citadel5 · citygate · cliff · cliff2 · cloud · COLT · countdown · cov092 · coverme · cracked · ctbcity · cucu40a · dam · deepcanyon · desert · desperado · downtown · drydam · ffrontal · foresthighway · fortbianco · fortcave · gap · garden · ghetto · ghosttown · golgotha · gorge2 · harbour1 · hetzjagd · highrise · highrise2 · hijack · hostage · hostage2 · hwy666 · jdcs · jungle1 · KUMANRU · lavatube · lighthouse · lnl2 · lnl3 · locknload · longfall · loveboat · lumber · mall1 · mall2 · market · matrix2 · mesto · metropol · mgibcity · motel · murder · mxcity · neighborhood · nobeer · office3 · paradise · parkgarage · passin · pier · pier2 · plaza2 · police · prison76 · quittin · rexro · rhcity1 · rhcity2 · rhcity3 · rhcity4 · rhstation · riot · riot2 · riotx · rocks · rok · ruins · saddam · seavill · sk8 · soho · soviet · steel · STORE5 · storehouse · submarine · subway99 · TBcity · tcintro · teacher · teamdepo · teamjungle · tension1 · tequila · theist · tokyo · tq2gtd1 · TVALLEY1 · Toxin · urban · urban2 · urban3 · urban4 · vertigo · village2 · WAR5 · warehouse · wargroun · winter · xmas
Hinweis: Diese Installationshinweise gehen von Standard-Gegebenheiten unter SuSE Linux 7.2 / 9.0 aus. Auf anderen Distributionen kann das Vorgehen leicht abweichen. — =DA=Pain

// Tipps

📈

Tickrate optimieren

Höhere Tickrate = bessere Hit-Erkennung, aber mehr CPU-Last. Für dedizierte 1v1-Server: 128 Tick. Für Public-Server mit vielen Spielern: 64 Tick ist der gute Mittelweg.

🛡️

DDoS-Schutz

Gameserver sind ein beliebtes Ziel für UDP-Floods. Ein vorgelagerter Anbieter mit DDoS-Mitigation oder eine dedizierte Firewall-Regel gegen SYN/UDP-Floods sind Pflicht.

📋

Admin-Verwaltung

AMX Mod X (für HL-Server) und rcon-Kommandos für Q3. Admin-Passwörter regelmäßig wechseln, besonders nach Clan-internen Konflikten.

💾

Backups

Konfigurationsdateien, Ban-Listen und Userdaten regelmäßig sichern. Am einfachsten per Cronjob auf ein anderes System rsync-en.