Skip to content
eauw edited this page Apr 28, 2016 · 19 revisions

Bomberman-Server

Der Server wird in Go (1.6) entwickelt. Daher muss zuerst Go installiert werden um den Server ausführen zu können.

Go installieren

Nachdem Go installiert und der GOPATH gesetzt wurde sollte man im Verzeichnis $GOPATH/ ein Verzeichnis "src" anlegen. Nun kann das bomberman-server-Repository heruntergeladen werden.

Methode 1
in $GOPATH ausführen:

$ go get github.com/eauw/bomberman-server

Dadurch wird das Repository automatisch nach $GOPATH/src/github.com/eauw/bomberman-server geladen.

Methode 2
Repository per Git nach $GOPATH/src/bomberman-server klonen.

Beispiel-Workspace:
GOPATH ausgeben lassen:

$ echo $GOPATH
~/go/

$GOPATH/src/bomberman-server (bomberman-server-directory)

Anwendung bauen:

(Methode 1) $ go install github.com/eauw/bomberman-server
(Methode 2) $ go install <bomberman-server-directory>

Server starten:

$ $GOPATH/bin/bomberman-server

Per Telnet auf Port 5000 verbinden.

Bedienung

Prinzipiell kann ein angemeldeter Bot/Spieler ein einfacher Telnet-Client sein der Befehle (Strings) an den Server überträgt.

Folgende Befehle kann der Server verarbeiten:

Zeichen Befehl Kommentar
w nach oben gehen
a nach links gehen
s nach unten gehen
d nach rechts gehen
b[d] Bombe i Felder in Richtung d werfen bw für 1 Feld nach oben, b für eigenes Feld
n nichts tun
q Verbindung zu Server trennen
name:[str] Spielernamen festlegen

Bei ungültigen Befehlen geschieht nichts.

Ausnahmen:
Alle nichteindeutigen Befehle zum Werfen einer Bombe (z.B. b1n oder b2u) legen die Bombe stattdessen auf die eigene Position. Wenn die eigene Reichweite 4 beträgt, man aber z.B. b7w sendet wird die nächsthöchste Reichweite verwendet, also b4w.

Verbindung zum Server

Nachdem der Client eine Verbindung mit dem Server hergestellt hat bekommt er eine ID und einen Spielernamen mitgeteilt: "YourID:xxxxxxxx\nYourName:Player1\n".
Die ID ist ein 8-stelliger String der zur Identifikation des Clients dient.

Eine Sekunde nachdem sich alle Spieler verbunden haben beginnt das Spiel.

Spielernamen setzen
Bevor das eigentliche Spiel beginnt also nach Verbindungsherstellung zum Server kann man "name:[gewünschter Name]" an den Server senden um einen Spielernamen festzulegen.

Clone this wiki locally