Krav
Installerer nødvendige pakker
Laster ned serverfilene
MySQL oppsett
Opprette en spillkonto
Konfigurering av serverfilene
Kompilerer rAthena-server
Konfigurerer pakkeversjonen for klienttilkoblinger
Starter serveren
Referanser
I denne artikkelen skal vi sette opp en Ragnarok Online Server på Ubuntu 14.04 x64. Du kan være logget på som root eller en bruker med superbrukerrettigheter. Det er tryggere å sette opp dette som en ikke-rootbruker med sudo. I denne opplæringen skal vi bruke rAthena-serverfilene.
Hvis du bruker Windows og har Ubuntu Server (VPS eller dedikert), trenger du følgende programmer.
- FileZilla
- PuTTY
- Tekstredigering (Sublime eller Notepad++ anbefales)
Krav
- apache2 - Hvis du planlegger å bruke phpMyAdmin for ekstern mysql-tilgang og sette opp nettstedet ditt.
- php5 - For web og phpMyAdmin.
- phpmyadmin - Ekstern MySQL-tilgang ved å bruke en nettleser.
- mysql-server - vår database for spillserveren.
- mysql-klient
- git
- gjøre
- gcc
- libmysqlclient-dev
- zlib1g-dev
- libpcre3-dev - Valgfritt, for PCRE-støtte.
- libssl-dev - Påkrevd, for kompilering med MySQL 5.5.
Du kan referere til denne veiledningen angående installasjon av Apache, MySQL og PHP.
Installerer nødvendige pakker
Kjør disse kommandoene over SSH.
Rotbruker:
apt-get install php5 phpmyadmin mysql-server mysql-client git make gcc libmysqlclient-dev zlib1g-dev libpcre3-dev
Ikke-root med sudo-privilegier:
sudo apt-get install php5 phpmyadmin mysql-server mysql-client git make gcc libmysqlclient-dev zlib1g-dev libpcre3-dev
Etter å ha installert serverkravene, la oss fortsette å installere og konfigurere serverfilene.
Laster ned serverfilene
Nå skal vi få de siste oppdateringene av rAthena-serverfiler. Dette er filene som kreves for å kjøre en Ragnarok Online-server. Det er andre serverfiler som kan brukes, som Hercules og eAthena, men i denne opplæringen bruker vi rAthena. Kjør kommandoen nedenfor for å laste ned filene.
git clone https://github.com/rathena/rathena.git ~/rAthena
Dette vil plassere alle filene i rAthenadin nåværende katalog i terminal.
For å oppdatere serverfilene til siste revisjon, kjør denne kommandoen.
cd rAthena
git pull
MySQL oppsett
I denne delen konfigurerer vi MySQL for databasen til serveren vår. Kontroller først om MySQL-serveren din kjører.
service mysql status
Hvis den ikke kjører, skriv inn denne kommandoen.
service mysqld start
Etter å ha kjørt kommandoene ovenfor, åpne MySQL-konsollen.
mysql -u root -p
Du vil bli bedt om root-passordet ditt. Etter å ha logget inn, skriv inn følgende kommandoer for å lage databasen for serveren vår.
CREATE DATABASE (your ragnarok database name); -- We'll name it "ragnarok".
mysql> CREATE DATABASE ragnarok;
Deretter oppretter du en ny bruker for Ragnarok DB og logger DB.
GRANT ALL ON ragnarok.* TO yourdatabaseusername@localhost IDENTIFIED BY "yourdesiredpassword"; -- We will create a new user called admin with a password of 123456.
mysql> GRANT ALL ON ragnarok.* TO admin@localhost IDENTIFIED BY "123456";
Du kan erstatte localhost med en IP-adresse hvis du vil at brukeren skal kunne få tilgang til MySQL-serveren din eksternt.
Opprett loggdatabase for Ragnarok-spillloggene.
CREATE DATABASE (your log database name) -- We'll name it "log".
mysql> CREATE DATABASE log;
Angi tillatelser for brukeren vi opprettet tidligere kalt admin .
mysql> GRANT ALL ON log.* TO admin@localhost;
Gjenopprett de nødvendige tabellene i Ragnarok- og loggdatabasen. Oppdater passordet ditt -pderetter.
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
Opprette en spillkonto
Vi bruker phpMyAdmin som vi installerte tidligere for å få tilgang til databasen. Få tilgang til phpMyAdmin via nettleseren din.
Velg ragnarokdatabasen og velg logintabellen. Vi kan se at det er én rekord i den tabellen. Ikke slett/endre den ennå. Den brukes av serveren. For å opprette en spillkonto, klikk på SQL-fanen mens du er på loginbordet for å åpne spørringsredigeringsprogrammet. Kjør følgende spørring.
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@email.com', '99', '0', '0', '0', '0', '0000-00-00 00:00:00', '', '0000-00-00', '9', '', '0', '0', '0');
Vi har satt inn en ny bruker i påloggingstabellen med følgende informasjon.
- account_id = 2000000 (begynn alltid med 2000000, deretter 2000001...)
- userid = admin (ditt brukernavn i spillet)
- user_pass = password123 (passordet for kontoen din)
- sex = M (M eller F, ikke bruk S fordi det bare er for serveren)
- e-post = email@email.com (kontoens e-postadresse, brukt til å slette karakterautomater i spillet)
- group_id = 99 (se
/rathena/conf/groups.confog sjekk id-linjene. Som nå, 99 for å gjøre dette til en GM-konto for spesiell kommandobruk i spillet.)
- character_slots = 9 (Antall tegn som kan opprettes per konto)
La de andre verdiene være som de er. Gratulerer. Du har opprettet kontoen din for spillet.
Konfigurering av serverfilene
Først må du vite serverens IP-adresse. Du vet kanskje allerede dette siden det allerede var inkludert i serverinformasjonen til din Vultr VPS. Hvis du vil sjekke det, skriv inn:
ifconfig
Se etter eth0 inet addr:xxx.xxx.xxx.xxx delen. xxx.xxx.xxx.xxx vil være IP-adressen til serveren din. Hvis du har installert Apache, kan du få tilgang til denne for å sjekke om webserveren din kjører.
I FileZilla logger du på VPS-en din med serverlegitimasjonen din og får tilgang til /rAthena/confmappen.
Rediger char_athena.confog map_athena.confmed din foretrukne tekstredigerer.
Rediger char_athena.conffra:
// 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
Til:
// 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
Hvor xxx.xxx.xxx.xxxer IP-adressen til serveren din.
inter_athena.txtGjør disse endringene i filen:
// 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
map_athena.txtGjør disse endringene i filen:
// 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
Hvor xxx.xxx.xxx.xxxer IP-adressen til serveren din.
Åpne subnet_athena.txtog angi IP-adressen.
subnet: 255.0.0.0:x.x.x.x:x.x.x.x
Og vi er ferdige med å konfigurere serveren.
Kompilerer rAthena-server
Nå er det på tide å kompilere serveren! I denne delen må du vite hvilken Ragnarok Online-klientversjon du skal bruke for å koble til serveren. For klientoppsett, besøk denne siden .
Etter at du har bestemt deg for hvilken klient som skal brukes, la oss redigere noen filer. La oss bare si at vi valgte å bruke 08072013klienten siden dette er den stabile fornyelsesklienten.
Kjør denne kommandoen på terminalen:
./configure --enable-packetver=YYYYMMDD
Erstatt YYYYMMDDmed klientdatoen (reformatert).
./configure --enable-packetver=20130807
Konfigureringsskriptet vil utføre nødvendige tester og generere make-filer for serveren vår.
Deretter kompilerer du kildekoden ved å skrive inn disse kommandoene:
make server
chmod a+x login-server && chmod a+x char-server && chmod a+x map-server
... og vent til det er ferdig. Hvis du gjør endringer på filene i /rAthena/srcmappen, må du kompilere den på nytt.
make clean
make server
Konfigurerer pakkeversjonen for klienttilkoblinger
I FileZilla, pek på /rAthena/dbmappen og rediger packet_db.txt.
Finn denne linjen og rediger:
//
//packet_db_ver: 46
packet_db_ver: default
packet_keys_use: default
Siden vi bruker 2013-08-07Ragexeklienten, finn den angitte klienten nedenfor og se etter dens packet_ver og packet_keys .
//2013-08-07Ragexe
packet_ver: 45
packet_keys: 0x7E241DE0,0x5E805580,0x3D807D80 // [Shakto]
Erstatt standardverdien til packet_db_verog packet_keys_useinn i de angitte klientverdiene.
//
//packet_db_ver: 46
packet_db_ver: 45
packet_keys_use: 0x7E241DE0,0x5E805580,0x3D807D80
Og spar. Dette er for å spesifisere hvilken klient som skal brukes av spillere. Vi ønsker ikke at de skal kunne bruke sin valgversjon.
Starter serveren
Etter å ha kompilert serverfilene, bruk disse kommandoene til å starte opp serveren.
Å starte:
./athena-start start
Å stoppe:
./athena-start stop
Å starte på nytt:
./athena-start restart
Hvis du har støtt på en feil som denne:
-bash: ./athena-start: /bin/sh^M: bad interpreter
... så må du installere dos2unix for å konvertere skriptet.
apt-get install dos2unix
dos2unix athena-start
chmod a+x athena-start
Etter å ha kjørt disse kommandoene, start serveren på nytt.
Nå som vi er ferdige med serveroppsettet, trenger du bare å sette Ragnarok-klienten din til å peke på VPS-serveren din. Nyt å spille på din nye server!
Referanser