Zahtjevi
Instaliranje potrebnih paketa
Preuzimanje datoteka poslužitelja
MySQL postavljanje
Izrada računa za igru
Konfiguriranje datoteka poslužitelja
Kompiliranje rAthena poslužitelja
Konfiguriranje paketne verzije za klijentske veze
Pokretanje poslužitelja
Reference
U ovom članku ćemo postaviti Ragnarok Online Server na Ubuntu 14.04 x64. Možete biti prijavljeni kao root ili kao korisnik s privilegijama superkorisnika. Sigurnije je ovo postaviti kao ne-root korisnika sa sudo. U ovom vodiču koristit ćemo datoteke poslužitelja rAthena.
Ako koristite Windows i imate Ubuntu Server (VPS ili Dedicated), trebat će vam sljedeći programi.
- FileZilla
- Kit
- Uređivač teksta (preporučuje se Sublime ili Notepad++)
Zahtjevi
- apache2 - Ako planirate koristiti phpMyAdmin za daljinski pristup mysql-u i postavljanje vaše web stranice.
- php5 - Za web i phpMyAdmin.
- phpmyadmin - Udaljeni pristup MySQL-u pomoću web preglednika.
- mysql-server - naša baza podataka za poslužitelj igara.
- mysql-klijent
- git
- napraviti
- gcc
- libmysqlclient-dev
- zlib1g-dev
- libpcre3-dev - Izborno, za PCRE podršku.
- libssl-dev - Potreban za prevođenje s MySQL 5.5.
Možete pogledati ovaj vodič u vezi s instalacijom Apachea, MySQL-a i PHP-a.
Instaliranje potrebnih paketa
Pokrenite ove naredbe preko SSH-a.
Root korisnik:
apt-get install php5 phpmyadmin mysql-server mysql-client git make gcc libmysqlclient-dev zlib1g-dev libpcre3-dev
Ne-root sa sudo privilegijama:
sudo apt-get install php5 phpmyadmin mysql-server mysql-client git make gcc libmysqlclient-dev zlib1g-dev libpcre3-dev
Nakon uspješne instalacije zahtjeva poslužitelja, nastavimo s instalacijom i konfiguracijom datoteka poslužitelja.
Preuzimanje datoteka poslužitelja
Sada ćemo dobiti najnovija ažuriranja datoteka poslužitelja rAthena. Ovo su datoteke potrebne za pokretanje Ragnarok Online poslužitelja. Postoje i druge poslužiteljske datoteke koje se mogu koristiti, kao što su Hercules i eAthena, ali u ovom vodiču koristimo rAthena. Pokrenite naredbu u nastavku za preuzimanje datoteka.
git clone https://github.com/rathena/rathena.git ~/rAthena
Ovo će sve datoteke smjestiti unutar rAthenavašeg trenutnog direktorija u terminal.
Za ažuriranje datoteka poslužitelja na najnoviju reviziju, pokrenite ovu naredbu.
cd rAthena
git pull
MySQL postavljanje
U ovom dijelu konfiguriramo MySQL za bazu podataka našeg poslužitelja. Prvo provjerite radi li vaš MySQL poslužitelj.
service mysql status
Ako ne radi, unesite ovu naredbu.
service mysqld start
Nakon što pokrenete gornje naredbe, otvorite MySQL konzolu.
mysql -u root -p
Od vas će se tražiti vaša root lozinka. Nakon prijave, upišite sljedeće naredbe za kreiranje baze podataka za naš poslužitelj.
CREATE DATABASE (your ragnarok database name); -- We'll name it "ragnarok".
mysql> CREATE DATABASE ragnarok;
Zatim stvorite novog korisnika za Ragnarok DB i prijavite 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";
Lokalni host možete zamijeniti IP adresom ako želite da korisnik može daljinski pristupiti vašem MySQL poslužitelju.
Stvorite bazu podataka za zapisnike igre Ragnarok.
CREATE DATABASE (your log database name) -- We'll name it "log".
mysql> CREATE DATABASE log;
Postavite dopuštenja za korisnika kojeg smo ranije stvorili pod nazivom admin .
mysql> GRANT ALL ON log.* TO admin@localhost;
Vratite potrebne tablice u svoju bazu podataka Ragnarok i dnevnika. Nakon toga ažurirajte svoju lozinku -p.
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
Izrada računa za igru
Za pristup bazi podataka koristimo phpMyAdmin koji smo ranije instalirali. Pristupite phpMyAdminu putem svog web preglednika.
Odaberite ragnarokbazu podataka i odaberite logintablicu. Vidimo da u toj tablici postoji jedan zapis. Nemojte ga još brisati/mijenjati. Koristi ga poslužitelj. Da biste stvorili račun za igru, kliknite karticu SQL dok ste na logintablici da biste otvorili uređivač upita. Pokrenite sljedeći upit.
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');
Ubacili smo novog korisnika u tablicu za prijavu sa sljedećim podacima.
- account_id = 2000000 (Uvijek počni s 2000000, a zatim 2000001...)
- userid = admin (Vaše korisničko ime u igri)
- user_pass = password123 (Lozinka za vaš račun)
- sex = M (M ili F, nemojte koristiti S jer je samo za poslužitelj)
- email = email@email.com ( e- adresa vašeg računa, koristi se za brisanje mjesta za znakove u igri)
- group_id = 99 (pogledajte
/rathena/conf/groups.confi provjerite id retke. Za sada, 99 da biste ovo učinili GM računom za korištenje posebnih naredbi u igrici.)
- character_slots = 9 (broj znakova koji se mogu kreirati po računu)
Ostale vrijednosti ostavite kakve jesu. Čestitamo. Uspješno ste kreirali svoj račun za igru.
Konfiguriranje datoteka poslužitelja
Prvo morate znati IP adresu vašeg poslužitelja. Možda to već znate jer je već bilo uključeno u informacije o poslužitelju vašeg Vultr VPS-a. Ako želite provjeriti, upišite:
ifconfig
Potražite dio eth0 inet addr:xxx.xxx.xxx.xxx . xxx.xxx.xxx.xxx bit će IP adresa vašeg poslužitelja. Ako imate instaliran Apache, možete pristupiti ovome kako biste provjerili radi li vaš web poslužitelj.
U FileZilla se prijavite na svoj VPS s vjerodajnicama poslužitelja i pristupite /rAthena/confmapi.
Uredite char_athena.confi map_athena.confsa željenim uređivačem teksta.
Uredi char_athena.confod:
// 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
Do:
// 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
Gdje xxx.xxx.xxx.xxxje IP adresa vašeg poslužitelja.
U inter_athena.txtdatoteci izvršite ove izmjene:
// 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
U map_athena.txtdatoteci izvršite ove izmjene:
// 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
Gdje xxx.xxx.xxx.xxxje IP adresa vašeg poslužitelja.
Otvorite subnet_athena.txti postavite IP adresu.
subnet: 255.0.0.0:x.x.x.x:x.x.x.x
I završili smo s konfiguracijom poslužitelja.
Kompiliranje rAthena poslužitelja
Sada je vrijeme za kompajliranje poslužitelja! U ovom dijelu morate znati koju verziju klijenta Ragnarok Online ćete koristiti za povezivanje s poslužiteljem. Za postavljanje klijenta posjetite ovu stranicu .
Nakon što odlučite koji klijent ćete koristiti, uredimo neke datoteke. Recimo, odlučili smo koristiti 08072013klijent jer je ovo stabilan klijent za obnovu.
Pokrenite ovu naredbu na terminalu:
./configure --enable-packetver=YYYYMMDD
Zamijenite YYYYMMDDdatumom klijenta (reformatirano).
./configure --enable-packetver=20130807
Skripta za konfiguriranje će izvršiti potrebne testove i generirati makefile za naš poslužitelj.
Nakon toga kompajlirajte izvorni kod unosom ovih naredbi:
make server
chmod a+x login-server && chmod a+x char-server && chmod a+x map-server
... i pričekajte da završi. Ako izvršite izmjene na datotekama unutar /rAthena/srcmape, morat ćete je ponovno kompajlirati.
make clean
make server
Konfiguriranje paketne verzije za klijentske veze
U FileZilla pokažite na /rAthena/dbmapu i uredite packet_db.txt.
Pronađite ovaj redak i uredite:
//
//packet_db_ver: 46
packet_db_ver: default
packet_keys_use: default
Budući da koristimo 2013-08-07Ragexeklijenta, pronađite navedenog klijenta u nastavku i potražite njegove packet_ver i packet_keys .
//2013-08-07Ragexe
packet_ver: 45
packet_keys: 0x7E241DE0,0x5E805580,0x3D807D80 // [Shakto]
Zamijenite zadanu vrijednost packet_db_veri packet_keys_useu navedene vrijednosti klijenta.
//
//packet_db_ver: 46
packet_db_ver: 45
packet_keys_use: 0x7E241DE0,0x5E805580,0x3D807D80
I spasiti. Ovo je za određivanje klijenta koji će igrači koristiti. Ne želimo da oni mogu koristiti svoju verziju izbora.
Pokretanje poslužitelja
Nakon sastavljanja datoteka poslužitelja, koristite ove naredbe za pokretanje poslužitelja.
Početi:
./athena-start start
Zaustaviti:
./athena-start stop
Ponovo pokrenuti:
./athena-start restart
Ako ste naišli na grešku poput ove:
-bash: ./athena-start: /bin/sh^M: bad interpreter
... tada trebate instalirati dos2unix za pretvaranje skripte.
apt-get install dos2unix
dos2unix athena-start
chmod a+x athena-start
Nakon što pokrenete te naredbe, ponovno pokrenite poslužitelj.
Sada kada smo završili s postavljanjem poslužitelja, samo trebate postaviti Ragnarok klijenta da pokazuje na vaš VPS poslužitelj. Uživajte u igri na svom novom serveru!
Reference