Kërkesat
Instalimi i paketave të nevojshme
Shkarkimi i skedarëve të serverit
Konfigurimi i MySQL
Krijimi i një llogarie të lojës
Konfigurimi i skedarëve të serverit
Përpilimi i serverit rAthena
Konfigurimi i versionit të paketës për lidhjet e klientit
Nisja e serverit
Referencat
Në këtë artikull, ne do të konfigurojmë një server Ragnarok Online në Ubuntu 14.04 x64. Ju mund të identifikoheni si root ose përdorues me privilegje superpërdoruesi. Është më e sigurt ta konfigurosh këtë si përdorues pa rrënjë me sudo. Në këtë tutorial, ne do të përdorim skedarët e serverit rAthena.
Nëse jeni duke përdorur Windows dhe keni Server Ubuntu (VPS ose Dedikuar), do t'ju nevojiten programet e mëposhtme.
- FileZilla
- stuko
- Redaktori i tekstit (rekomandohet Sublime ose Notepad ++)
Kërkesat
- apache2 - Nëse po planifikoni të përdorni phpMyAdmin për qasje në distancë në mysql dhe konfigurimin e faqes tuaj të internetit.
- php5 - Për ueb dhe phpMyAdmin.
- phpmyadmin - Qasje në distancë MySQL duke përdorur një shfletues ueb.
- mysql-server - databaza jonë për serverin e lojës.
- mysql-klient
- git
- bëjnë
- gcc
- libmysqlclient-dev
- zlib1g-dev
- libpcre3-dev - Opsionale, për mbështetje PCRE.
- libssl-dev - Kërkohet, për përpilimin me MySQL 5.5.
Ju mund t'i referoheni këtij udhëzuesi në lidhje me instalimin e Apache, MySQL dhe PHP.
Instalimi i paketave të nevojshme
Ekzekutoni këto komanda mbi SSH.
Përdoruesi rrënjësor:
apt-get install php5 phpmyadmin mysql-server mysql-client git make gcc libmysqlclient-dev zlib1g-dev libpcre3-dev
Jo-root me privilegje sudo:
sudo apt-get install php5 phpmyadmin mysql-server mysql-client git make gcc libmysqlclient-dev zlib1g-dev libpcre3-dev
Pas instalimit të suksesshëm të kërkesave të serverit, le të vazhdojmë me instalimin dhe konfigurimin e skedarëve të serverit.
Shkarkimi i skedarëve të serverit
Tani, ne do të marrim përditësimet më të fundit të skedarëve të serverit rAthena. Këta janë skedarët e nevojshëm për ekzekutimin e një serveri Ragnarok Online. Ka skedarë të tjerë të serverëve që mund të përdoren, si Hercules dhe eAthena, por në këtë tutorial, ne po përdorim rAthena. Drejtoni komandën më poshtë për të shkarkuar skedarët.
git clone https://github.com/rathena/rathena.git ~/rAthena
Kjo do të vendosë të gjithë skedarët brenda rAthenadrejtorisë tuaj aktuale në terminal.
Për të përditësuar skedarët e serverit në versionin më të fundit, ekzekutoni këtë komandë.
cd rAthena
git pull
Konfigurimi i MySQL
Në këtë pjesë, ne po konfigurojmë MySQL për bazën e të dhënave të serverit tonë. Së pari, kontrolloni nëse MySQL Server juaj po funksionon.
service mysql status
Nëse nuk funksionon, futni këtë komandë.
service mysqld start
Pasi të ekzekutoni komandat e mësipërme, hapni tastierën MySQL.
mysql -u root -p
Do t'ju kërkohet fjalëkalimi juaj root. Pasi të regjistroheni, shkruani komandat e mëposhtme për të krijuar bazën e të dhënave për serverin tonë.
CREATE DATABASE (your ragnarok database name); -- We'll name it "ragnarok".
mysql> CREATE DATABASE ragnarok;
Pastaj, krijoni një përdorues të ri për Ragnarok DB dhe regjistroni 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";
Mund ta zëvendësoni localhost-in me një adresë IP nëse dëshironi që përdoruesi të jetë në gjendje të hyjë në serverin tuaj MySQL nga distanca.
Krijo bazën e të dhënave të regjistrave për regjistrat e lojës Ragnarok.
CREATE DATABASE (your log database name) -- We'll name it "log".
mysql> CREATE DATABASE log;
Vendosni lejet për përdoruesin që kemi krijuar më parë me emrin admin .
mysql> GRANT ALL ON log.* TO admin@localhost;
Rivendosni tabelat e kërkuara në bazën e të dhënave Ragnarok dhe log. Përditësoni fjalëkalimin tuaj pas në -ppërputhje me rrethanat.
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
Krijimi i një llogarie të lojës
Ne jemi duke përdorur phpMyAdmin që kemi instaluar më parë për të hyrë në bazën e të dhënave. Hyni në phpMyAdmin përmes shfletuesit tuaj të internetit.
Zgjidhni ragnarokbazën e të dhënave dhe zgjidhni logintabelën. Mund të shohim se ka një rekord në atë tabelë. Mos e fshini/modifikoni akoma. Përdoret nga serveri. Për të krijuar një llogari të lojës, klikoni në skedën SQL ndërsa jeni në logintabelë për të hapur redaktuesin e pyetjeve. Drejtoni pyetjen e mëposhtme.
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');
Ne kemi futur një përdorues të ri në tabelën e hyrjes me informacionin e mëposhtëm.
- account_id = 2000000 (Gjithmonë filloni me 2000000, pastaj 2000001...)
- userid = admin (Emri juaj i përdoruesit në lojë)
- user_pass = password123 (Fjalëkalimi për llogarinë tuaj)
- seksi = M (M ose F, mos përdorni S sepse është vetëm për serverin)
- email = email@email.com (Email-i i llogarisë suaj, i përdorur për fshirjen e vendeve të karakterit në lojë)
- group_id = 99 (referojuni
/rathena/conf/groups.confdhe kontrolloni linjat id. Për momentin, 99 për ta bërë këtë një llogari GM për lojën e përdorimit të komandave speciale.)
- karakteret_slots = 9 (Numri i karaktereve që mund të krijohen për llogari)
Lërini vlerat e tjera siç janë. urime. Ju keni krijuar me sukses llogarinë tuaj për lojën.
Konfigurimi i skedarëve të serverit
Së pari, duhet të dini adresën IP të serverit tuaj. Ju mund ta dini tashmë këtë pasi ishte përfshirë tashmë në informacionin e serverit të Vultr VPS tuaj. Nëse dëshironi ta kontrolloni, shkruani:
ifconfig
Kërkoni për pjesën eth0 inet addr:xxx.xxx.xxx.xxx . xxx.xxx.xxx.xxx do të jetë adresa IP e serverit tuaj. Nëse keni të instaluar Apache, mund të përdorni këtë për të kontrolluar nëse serveri juaj i uebit po funksionon.
Në FileZilla, identifikohuni në VPS tuaj me kredencialet e serverit tuaj dhe hyni në /rAthena/confdosje.
Redaktoni char_athena.confdhe map_athena.confme redaktuesin tuaj të preferuar të tekstit.
Redakto char_athena.confnga:
// 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
Për:
// 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
Ku xxx.xxx.xxx.xxxështë adresa IP e serverit tuaj.
Në inter_athena.txtskedar, bëni këto ndryshime:
// 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
Në map_athena.txtskedar, bëni këto ndryshime:
// 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
Ku xxx.xxx.xxx.xxxështë adresa IP e serverit tuaj.
Hapni subnet_athena.txtdhe vendosni adresën IP.
subnet: 255.0.0.0:x.x.x.x:x.x.x.x
Dhe ne kemi përfunduar konfigurimin e serverit.
Përpilimi i serverit rAthena
Tani është koha për të përpiluar serverin! Në këtë pjesë, duhet të dini se çfarë versioni të klientit Ragnarok Online do të përdorni për t'u lidhur me serverin. Për konfigurimin e klientit, vizitoni këtë faqe .
Pasi të vendosni se cilin klient do të përdorni, le të modifikojmë disa skedarë. Le të themi, ne zgjodhëm të përdorim 08072013klientin pasi ky është klienti i qëndrueshëm i rinovimit.
Ekzekutoni këtë komandë në terminal:
./configure --enable-packetver=YYYYMMDD
Zëvendësoni YYYYMMDDme datën e klientit (riformatuar).
./configure --enable-packetver=20130807
Skripti i konfigurimit do të kryejë testet e nevojshme dhe do të gjenerojë skedarë për serverin tonë.
Pas kësaj, përpiloni kodin burimor duke futur këto komanda:
make server
chmod a+x login-server && chmod a+x char-server && chmod a+x map-server
... dhe prisni që të përfundojë. Nëse bëni modifikime në skedarët brenda /rAthena/srcdosjes, do t'ju duhet ta ripërpiloni atë.
make clean
make server
Konfigurimi i versionit të paketës për lidhjet e klientit
Në FileZilla, tregoni /rAthena/dbdosjen dhe modifikoni packet_db.txt.
Gjeni këtë rresht dhe modifikoni:
//
//packet_db_ver: 46
packet_db_ver: default
packet_keys_use: default
Meqenëse ne jemi duke përdorur 2013-08-07Ragexeklientin, gjeni klientin e specifikuar më poshtë dhe kërkoni për packet_ver dhe packet_keys .
//2013-08-07Ragexe
packet_ver: 45
packet_keys: 0x7E241DE0,0x5E805580,0x3D807D80 // [Shakto]
Zëvendësoni vlerën e paracaktuar të packet_db_verdhe packet_keys_usenë vlerat e specifikuara të klientit.
//
//packet_db_ver: 46
packet_db_ver: 45
packet_keys_use: 0x7E241DE0,0x5E805580,0x3D807D80
Dhe kurseni. Kjo është për të specifikuar se çfarë klienti do të përdoret nga lojtarët. Ne nuk duam që ata të jenë në gjendje të përdorin versionin e tyre të zgjedhur.
Nisja e serverit
Pas përpilimit të skedarëve të serverit, përdorni këto komanda për të ndezur serverin.
Të fillosh:
./athena-start start
Të ndalosh:
./athena-start stop
Për të rifilluar:
./athena-start restart
Nëse keni hasur në një gabim si ky:
-bash: ./athena-start: /bin/sh^M: bad interpreter
... atëherë ju duhet të instaloni dos2unix për të kthyer skriptin.
apt-get install dos2unix
dos2unix athena-start
chmod a+x athena-start
Pas ekzekutimit të këtyre komandave, rinisni serverin.
Tani që kemi mbaruar me konfigurimin e serverit, ju vetëm duhet të vendosni klientin tuaj Ragnarok që të tregojë serverin tuaj VPS. Kënaquni duke luajtur në serverin tuaj të ri!
Referencat