In diesem Artikel werden wir einen Ragnarok Online Server unter Ubuntu 14.04 x64 einrichten. Sie können als Root oder als Benutzer mit Superuser-Berechtigungen angemeldet sein. Es ist sicherer, dies als Nicht-Root-Benutzer mit sudo einzurichten. In diesem Tutorial werden wir die rAthena-Serverdateien verwenden.
Wenn Sie Windows verwenden und Ubuntu Server (VPS oder Dedicated) haben, benötigen Sie die folgenden Programme.
- FileZilla
- Kitt
- Texteditor (Sublime oder Notepad ++ empfohlen)
Bedarf
- apache2 - Wenn Sie planen, phpMyAdmin für den Remote-MySQL-Zugriff und die Einrichtung Ihrer Website zu verwenden.
- php5 - Für Web und phpMyAdmin.
- phpmyadmin - Remote-MySQL-Zugriff über einen Webbrowser.
- MySQL-Server - unsere Datenbank für den Spieleserver.
- MySQL-Client
- git
- machen
- gcc
- libmysqlclient-dev
- zlib1g-dev
- libpcre3-dev - Optional für PCRE-Unterstützung.
- libssl-dev - Erforderlich zum Kompilieren mit MySQL 5.5.
Informationen zur Installation von Apache, MySQL und PHP finden Sie in diesem Handbuch .
Erforderliche Pakete installieren
Führen Sie diese Befehle über SSH aus.
-
Root-Benutzer:
apt-get install php5 phpmyadmin mysql-server mysql-client git make gcc libmysqlclient-dev zlib1g-dev libpcre3-dev
-
Nicht-Root mit Sudo-Berechtigungen:
sudo apt-get install php5 phpmyadmin mysql-server mysql-client git make gcc libmysqlclient-dev zlib1g-dev libpcre3-dev
Nachdem Sie die Serveranforderungen erfolgreich installiert haben, fahren Sie mit der Installation und Konfiguration der Serverdateien fort.
Herunterladen der Serverdateien
Jetzt erhalten wir die neuesten Updates der rAthena-Serverdateien. Dies sind die Dateien, die zum Ausführen eines Ragnarok Online-Servers erforderlich sind. Es gibt andere Serverdateien, die verwendet werden können, wie Hercules und eAthena, aber in diesem Tutorial verwenden wir rAthena. Führen Sie den folgenden Befehl aus, um die Dateien herunterzuladen.
git clone https://github.com/rathena/rathena.git ~/rAthena
Dadurch werden alle Dateien in rAthenaIhrem aktuellen Verzeichnis im Terminal abgelegt .
Führen Sie diesen Befehl aus, um die Serverdateien auf die neueste Version zu aktualisieren.
cd rAthena
git pull
MySQL-Setup
In diesem Teil konfigurieren wir MySQL für die Datenbank unseres Servers. Überprüfen Sie zunächst, ob Ihr MySQL Server ausgeführt wird.
service mysql status
Wenn es nicht ausgeführt wird, geben Sie diesen Befehl ein.
service mysqld start
Öffnen Sie nach dem Ausführen der obigen Befehle die MySQL-Konsole.
mysql -u root -p
Sie werden nach Ihrem Root-Passwort gefragt. Geben Sie nach der Anmeldung die folgenden Befehle ein, um die Datenbank für unseren Server zu erstellen.
CREATE DATABASE (Name Ihrer Ragnarok-Datenbank); - Wir nennen es "Ragnarok".
mysql> CREATE DATABASE ragnarok;
Erstellen Sie dann einen neuen Benutzer für die Ragnarok-Datenbank und protokollieren Sie die Datenbank.
GRANT ALL ON ragnarok. * TO yourdatabaseusername @ localhost IDENTIFIED BY "yourdesiredpassword"; - Wir erstellen einen neuen Benutzer namens admin mit dem Passwort 123456 .
mysql> GRANT ALL ON ragnarok.* TO admin@localhost IDENTIFIED BY "123456";
Sie können localhost durch eine IP-Adresse ersetzen, wenn der Benutzer remote auf Ihren MySQL-Server zugreifen kann.
Erstellen Sie eine Protokolldatenbank für die Ragnarok-Spielprotokolle.
CREATE DATABASE (Name Ihrer Protokolldatenbank) - Wir nennen es "log".
mysql> CREATE DATABASE log;
Legen Sie Berechtigungen für den Benutzer fest, den wir zuvor mit dem Namen admin erstellt haben .
mysql> GRANT ALL ON log.* TO admin@localhost;
Stellen Sie die erforderlichen Tabellen in Ihrer Ragnarok- und Protokolldatenbank wieder her. Aktualisieren Sie Ihr Passwort danach -pentsprechend.
mysql> quit;
mysql -u admin -p123456 ragnarok < /path/to/your/rathena folder/sql-files/main.sql
mysql -u admin -p123456 log < /path/to/your/rathena folder/sql-files/logs.sql
Erstellen eines Spielkontos
Wir verwenden phpMyAdmin, das wir zuvor installiert haben, um auf die Datenbank zuzugreifen. Greifen Sie über Ihren Webbrowser auf phpMyAdmin zu.
Wählen Sie die ragnarokDatenbank und die loginTabelle aus. Wir können sehen, dass es einen Datensatz in dieser Tabelle gibt. Löschen / ändern Sie es noch nicht. Es wird vom Server verwendet. Um ein Spielkonto zu erstellen, klicken Sie in der loginTabelle auf die Registerkarte SQL , um den Abfrageeditor zu öffnen. Führen Sie die folgende Abfrage aus.
INSERT INTO `ragnarok`.`login` (`account_id`, `userid`, `user_pass`, `sex`, `email`, `group_id`, `state`, `unban_time`, `expiration_time`, `logincount`, `lastlogin`, `last_ip`, `birthdate`, `character_slots`, `pincode`, `pincode_change`, `vip_time`, `old_group`) VALUES ('2000000', 'admin', 'password123', 'M', '[email protected]', '99', '0', '0', '0', '0', '0000-00-00 00:00:00', '', '0000-00-00', '9', '', '0', '0', '0');
Wir haben einen neuen Benutzer mit den folgenden Informationen in die Anmeldetabelle eingefügt.
- account_id = 2000000 ( Beginnen Sie immer mit 2000000, dann mit 2000001 ...)
- userid = admin (Dein Benutzername im Spiel)
- user_pass = password123 (Das Passwort für Ihr Konto)
- Geschlecht = M (M oder F, benutze S nicht, weil es nur für den Server ist)
- email = [email protected] (Die E-Mail Ihres Kontos, die zum Löschen von Charakter-Slots im Spiel verwendet wird)
- group_id = 99 (siehe
/rathena/conf/groups.confund überprüfe die ID-Zeilen. 99, um dies zu einem GM-Konto für die Verwendung spezieller Befehle im Spiel zu machen.)
- character_slots = 9 (Anzahl der Zeichen, die pro Konto erstellt werden können)
Lassen Sie die anderen Werte unverändert. Herzliche Glückwünsche. Sie haben Ihr Konto für das Spiel erfolgreich erstellt.
Serverdateien konfigurieren
Zunächst müssen Sie die IP-Adresse Ihres Servers kennen. Möglicherweise wissen Sie dies bereits, da es bereits in den Serverinformationen Ihres Vultr VPS enthalten war. Wenn Sie es überprüfen möchten, geben Sie Folgendes ein:
ifconfig
Suchen Sie nach dem Teil eth0 inet addr: xxx.xxx.xxx.xxx . xxx.xxx.xxx.xxx ist die IP-Adresse Ihres Servers. Wenn Sie Apache installiert haben, können Sie darauf zugreifen, um zu überprüfen, ob Ihr Webserver ausgeführt wird.
Melden Sie sich in FileZilla mit Ihren Serveranmeldeinformationen bei Ihrem VPS an und greifen Sie auf den /rAthena/confOrdner zu.
Bearbeiten char_athena.confund map_athena.confmit Ihrem bevorzugten Texteditor.
Bearbeiten char_athena.confvon:
// Login Server IP
// The character server connects to the login server using this IP address.
// NOTE: This is useful when you are running behind a firewall or are on
// a machine with multiple interfaces.
//login_ip: 127.0.0.1
// The character server listens on the interface with this IP address.
// NOTE: This allows you to run multiple servers on multiple interfaces
// while using the same ports for each server.
//bind_ip: 127.0.0.1
// Login Server Port
login_port: 6900
// Character Server IP
// The IP address which clients will use to connect.
// Set this to what your server's public IP address is.
//char_ip: 127.0.0.1
Zu:
// Login Server IP
// The character server connects to the login server using this IP address.
// NOTE: This is useful when you are running behind a firewall or are on
// a machine with multiple interfaces.
login_ip: xxx.xxx.xxx.xxx
// The character server listens on the interface with this IP address.
// NOTE: This allows you to run multiple servers on multiple interfaces
// while using the same ports for each server.
//bind_ip: 127.0.0.1
// Login Server Port
login_port: 6900
// Character Server IP
// The IP address which clients will use to connect.
// Set this to what your server's public IP address is.
char_ip: xxx.xxx.xxx.xxx
Wo xxx.xxx.xxx.xxxist die IP-Adresse Ihres Servers?
Nehmen Sie in der inter_athena.txtDatei folgende Änderungen vor:
// Global SQL settings
// overridden by local settings when the hostname is defined there
// (currently only the login-server reads/obeys these settings)
// MySQL Login server
login_server_ip: 127.0.0.1 // <- either 127.0.0.1 or your server's ip, we'll use 127.0.0.1 since it listens to own mySQL server, change it to IP if your mySQL Server is in different server.
login_server_port: 3306
login_server_id: ragnarok // <- change this to your mySQL User your created earlier
login_server_pw: ragnarok // <- its password
login_server_db: ragnarok // <- change this if your ragnarok db you set is different
login_codepage:
login_case_sensitive: no
ipban_db_ip: 127.0.0.1 // <- either 127.0.0.1 or your server's ip, we'll use 127.0.0.1 since it listens to own mySQL server, change it to IP if your mySQL Server is in different server.
ipban_db_port: 3306
ipban_db_id: ragnarok // <- change this to your mySQL User your created earlier
ipban_db_pw: ragnarok // <- its password
ipban_db_db: ragnarok // <- change this if your ragnarok db you set is different
ipban_codepage:
// MySQL Character server
char_server_ip: 127.0.0.1 // <- either 127.0.0.1 or your server's ip, we'll use 127.0.0.1 since it listens to own mySQL server, change it to IP if your mySQL Server is in different server.
char_server_port: 3306
char_server_id: ragnarok // <- change this to your mySQL User your created earlier
char_server_pw: ragnarok // <- its password
char_server_db: ragnarok // <- change this if your ragnarok db you set is different
// MySQL Map Server
map_server_ip: 127.0.0.1 // <- either 127.0.0.1 or your server's ip, we'll use 127.0.0.1 since it listens to own mySQL server, change it to IP if your mySQL Server is in different server.
map_server_port: 3306
map_server_id: ragnarok // <- change this to your mySQL User your created earlier
map_server_pw: ragnarok // <- its password
map_server_db: ragnarok // <- change this if your ragnarok db you set is different
// MySQL Log Database
log_db_ip: 127.0.0.1 // <- either 127.0.0.1 or your server's ip, we'll use 127.0.0.1 since it listens to own mySQL server, change it to IP if your mySQL Server is in different server.
log_db_port: 3306
log_db_id: ragnarok // <- change this to your mySQL User your created earlier
log_db_pw: ragnarok // <- its password
log_db_db: log // <- change this if your log db you set is different
log_codepage:
log_login_db: loginlog
Nehmen Sie in der map_athena.txtDatei folgende Änderungen vor:
// Character Server IP
// The map server connects to the character server using this IP address.
// NOTE: This is useful when you are running behind a firewall or are on
// a machine with multiple interfaces.
char_ip: x.x.x.x
// The map server listens on the interface with this IP address.
// NOTE: This allows you to run multiple servers on multiple interfaces
// while using the same ports for each server.
//bind_ip: 127.0.0.1
// Character Server Port
char_port: 6121
// Map Server IP
// The IP address which clients will use to connect.
// Set this to what your server's public IP address is.
map_ip: x.x.x.x
// Map Server Port
map_port: 5121
Wo xxx.xxx.xxx.xxxist die IP-Adresse Ihres Servers?
Öffnen Sie subnet_athena.txtdie IP-Adresse und legen Sie sie fest.
subnet: 255.0.0.0:x.x.x.x:x.x.x.x
Und wir sind mit der Konfiguration des Servers fertig.
Kompilieren des rAthena-Servers
Jetzt ist es Zeit, den Server zu kompilieren! In diesem Teil müssen Sie wissen, mit welcher Ragnarok Online-Clientversion Sie eine Verbindung zum Server herstellen. Informationen zum Einrichten des Clients finden Sie auf dieser Seite .
Nachdem Sie sich für einen Client entschieden haben, bearbeiten wir einige Dateien. Sagen wir einfach, wir haben uns für den 08072013Client entschieden, da dies der stabile Erneuerungsclient ist.
Führen Sie diesen Befehl auf dem Terminal aus:
./configure --enable-packetver=YYYYMMDD
Durch YYYYMMDDdas Client-Datum ersetzen (neu formatiert).
./configure --enable-packetver=20130807
Das Konfigurationsskript führt die erforderlichen Tests durch und generiert Makefiles für unseren Server.
Kompilieren Sie anschließend den Quellcode, indem Sie die folgenden Befehle eingeben:
make server
chmod a+x login-server && chmod a+x char-server && chmod a+x map-server
... und warten, bis es fertig ist. Wenn Sie Änderungen an den Dateien im /rAthena/srcOrdner vornehmen , müssen Sie diese neu kompilieren.
make clean
make server
Konfigurieren der Paketversion für Clientverbindungen
Zeigen Sie in FileZilla auf den /rAthena/dbOrdner und bearbeiten Sie ihn packet_db.txt.
Finde diese Zeile und bearbeite:
//
//packet_db_ver: 46
packet_db_ver: default
packet_keys_use: default
Da wir den 2013-08-07RagexeClient verwenden, suchen Sie den unten angegebenen Client und suchen Sie nach dessen packet_ver und packet_keys .
//2013-08-07Ragexe
packet_ver: 45
packet_keys: 0x7E241DE0,0x5E805580,0x3D807D80 // [Shakto]
Ersetzen Sie den Standardwert von packet_db_verund packet_keys_usein die angegebenen Clientwerte.
//
//packet_db_ver: 46
packet_db_ver: 45
packet_keys_use: 0x7E241DE0,0x5E805580,0x3D807D80
Und speichern. Hiermit wird festgelegt, welcher Client von Spielern verwendet werden soll. Wir möchten nicht, dass sie die Version ihrer Wahl verwenden können.
Server starten
Verwenden Sie nach dem Kompilieren der Serverdateien diese Befehle, um den Server zu starten.
Anfangen:
./athena-start start
Stoppen:
./athena-start stop
Neustarten:
./athena-start restart
Wenn Sie auf einen Fehler wie diesen gestoßen sind:
-bash: ./athena-start: /bin/sh^M: bad interpreter
... dann müssen Sie dos2unix installieren, um das Skript zu konvertieren.
apt-get install dos2unix
dos2unix athena-start
chmod a+x athena-start
Starten Sie den Server nach dem Ausführen dieser Befehle erneut.
Nachdem wir mit dem Server-Setup fertig sind, müssen Sie nur noch Ihren Ragnarok-Client so einstellen, dass er auf Ihren VPS-Server verweist. Viel Spaß beim Spielen auf Ihrem neuen Server!
Verweise