Network:OwnServer/de

From Scrabble3D Manual
Jump to: navigation, search

Um mit einigen wenigen Bekannten zu spielen, muss kein eigener Server ausgesetzt werden. Neben der Möglichkeit, den öffentlichen Server zu benutzen, kann auch eine Direktverbindung genutzt werden. Ein eigener Server ist nur dann sinnvoll, wenn man die Netzwerkfunktionalität einer großen Anzahl von Spielern mit einem rund-um-die-Uhr Service anbieten will.

Das Serverprogramm selbst ist auf Sourceforge verfügbar. Es gibt Versionen für ARM CPUs (z.B. SheevaPlug oder Raspberry Pi) für mySQL 5.0 oder 5.5 sowie für i386 und mySQL 5.0. Das Programm nutzt den Port 5001, zu dem eine Portweiterleitung am Router konfiguriert werden sollte. Des Weiteren muss ein mySQL/MariaDB Datenbankserver laufen, der eine Datenbank mit einer Tabelle "Users" enthält (die Datenbank kann frei benannt werden, z.B. Scrabble3D, der Tabellenname ist fix).

Mit dem folgenden sql Befehl kann eine Tabelle mit den entsprechenden Feldern erzeugt werden (NULL ist notwendig!)

CREATE TABLE IF NOT EXISTS `Users` (
`Name` text,
`Passwd` text,
`Key` int(11) NOT NULL AUTO_INCREMENT,
`GamesPlayed` int(11) DEFAULT NULL,
`Rating` int(11) DEFAULT NULL,
`Registered` datetime DEFAULT NULL,
`LastConnect` datetime DEFAULT NULL,
`LastIP` text,
`LastMac` text,
`Messages` text,
`AllowKibitz` tinyint(1) DEFAULT NULL,
`Email` varchar(255) DEFAULT NULL,
PRIMARY KEY (`Key`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

Falls es beim ersten Start zu einem Fehler kommt, hilft es vielleicht, einen ersten Eintrag anzulegen: INSERT INTO `Users`(`Name`, `Passwd`, `Key`, `GamesPlayed`, `Rating`, `Registered`, `LastConnect`, `LastIP`, `LastMac`, `Messages`, `AllowKibitz`, `Email`) VALUES ('testuser','password','1','1','1000','12/08/2012','12/08/2012','192.168.1.1','11111111','blah','1','test@test.com'); (Edit: In der aktuellen Version sollte es auch bei einer leeren Tabelle zu keinem Fehler mehr kommen.)

Das Serverprogramm ist kein Daemon. Das heißt, das Terminal in dem gestartet wurde, darf nicht geschlossen werden. Damit man sich trotzdem ausloggen kann, bieten sich der Terminalmultiplexer GNU Screen an.

Beim Start können die folgenden Parameter angegeben werden:

ScrabbleServer v0.2
Parameters:
 -u <user>
 -p <password>
 -d <database>
 -h (Shows this help)

Werden Parameter nicht angegeben, fragt das Programm nach dem Start. Es ist sinnvoll, zum Beispiel das Passwort nicht als Parameter zu übergeben.

Fehler werden vom Server in /var/log/Scrabble3D gespeichert, jedoch erfolgen die meisten Ausgaben in der Konsole und werden nicht geloggt. Jedes Spiel wird in einer Datei mit einer fortlaufenden Nummerierung gespeichert. Nach einer definierbaren Zeit werden diese Dateien gelöscht, jedoch vorher in die datei backup.tar übertragen (gepackt werden muss von Zeit zu Zeit von Hand). Alle Variablen werden bei Start des Servers aus der Datei ScrabbleServer.ini gelesen:

[News]
Current=Welcome to the Free International Scrabble3D Server! //Message shown on connect

[General]
GameNumber=43834 //internal value; file name increment
MaxDaysForStoredGames=7 //games that are not accessed within this time are backed up
NumberOfBestPlayers=20 //how many players should be reported on best info
MaxNumberOfAccounts=3 //max number of accounts per user (MAC address counts)
TimeToAfk=600000 //time without action until user is treated as away from keyboard in ms 

[Banned_UID]
94:0c:6d:bf:40:d3=0 //you can ban users based on their MAC address; set value to 1 to activate 

Damit andere Spieler Zugriff auf diesen Server haben, kann die Adresse entweder händisch in die Scrabble3D.conf eingetragen werden:

<Servers Count="2">
 <f0 Name="Free International Scrabble3D Server" Address="scrabble3d.ignorelist.com"/>
 <f1 Name="FISS (old address)" Address="scrabble.game-server.cc"/>
</Servers>

Bei einer dynamisch vergebenen IP-Adresse ist ein DNS-Provider nützlich. Wenn der Server 24/7 aktiv sein soll, ist der bessere Weg jedoch eine Veröffentlichung über die automatische Aktualisierung. Kontaktieren Sie dazu den Autor.

GeoLogo.png Language:

DeutschEnglishEspañolFrançaisGaeilgeGàidhligItalianoSvenska