Захтеви
Инсталирање потребних пакета
Преузимање датотека сервера
МиСКЛ подешавање
Креирање налога за игру
Конфигурисање серверских датотека
Компајлирање рАтхена сервера
Конфигурисање пакетне верзије за клијентске везе
Покретање сервера
Референце
У овом чланку ћемо подесити Рагнарок Онлине сервер на Убунту 14.04 к64. Можете бити пријављени као роот или као корисник са привилегијама суперкорисника. Сигурније је подесити ово као корисника који није роот са судо. У овом водичу користићемо датотеке сервера рАтхена.
Ако користите Виндовс и имате Убунту сервер (ВПС или Дедицатед), биће вам потребни следећи програми.
- ФилеЗилла
- ПуТТИ
- Уређивач текста (препоручује се Сублиме или Нотепад++)
Захтеви
- апацхе2 - Ако планирате да користите пхпМиАдмин за удаљени мискл приступ и подешавање ваше веб странице.
- пхп5 - За веб и пхпМиАдмин.
- пхпмиадмин - Удаљени приступ МиСКЛ-у помоћу веб претраживача.
- мискл-сервер - наша база података за сервер за игре.
- мискл-цлиент
- гит
- направити
- гцц
- либмисклцлиент-дев
- злиб1г-дев
- либпцре3-дев - Опционо, за ПЦРЕ подршку.
- либссл-дев - Потребан за компајлирање са МиСКЛ 5.5.
Можете погледати овај водич у вези са инсталацијом Апацхе-а, МиСКЛ-а и ПХП-а.
Инсталирање потребних пакета
Покрените ове команде преко ССХ-а.
Роот корисник:
apt-get install php5 phpmyadmin mysql-server mysql-client git make gcc libmysqlclient-dev zlib1g-dev libpcre3-dev
Не-роот са судо привилегијама:
sudo apt-get install php5 phpmyadmin mysql-server mysql-client git make gcc libmysqlclient-dev zlib1g-dev libpcre3-dev
Након што смо успешно инсталирали захтеве сервера, наставимо са инсталирањем и конфигурисањем серверских датотека.
Преузимање датотека сервера
Сада ћемо добити најновија ажурирања рАтхена серверских датотека. Ово су датотеке потребне за покретање Рагнарок Онлине сервера. Постоје и други серверски фајлови који се могу користити, као што су Херцулес и еАтхена, али у овом водичу користимо рАтхена. Покрените наредбу испод да бисте преузели датотеке.
git clone https://github.com/rathena/rathena.git ~/rAthena
Ово ће поставити све датотеке у rAthenaваш тренутни директоријум у терминал.
Да ажурирате фајлове сервера на најновију ревизију, покрените ову команду.
cd rAthena
git pull
МиСКЛ подешавање
У овом делу конфигуришемо МиСКЛ за базу података нашег сервера. Прво проверите да ли ваш МиСКЛ сервер ради.
service mysql status
Ако не ради, унесите ову команду.
service mysqld start
Након што покренете горње команде, отворите МиСКЛ конзолу.
mysql -u root -p
Од вас ће се тражити ваша роот лозинка. Након што се пријавите, унесите следеће команде да бисте креирали базу података за наш сервер.
CREATE DATABASE (your ragnarok database name); -- We'll name it "ragnarok".
mysql> CREATE DATABASE ragnarok;
Затим креирајте новог корисника за Рагнарок ДБ и пријавите ДБ.
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";
Можете заменити на лоцалхост са ИП адресом ако желите да корисник може да приступи серверу МиСКЛ даљински.
Креирајте базу података за евиденцију игре Рагнарок.
CREATE DATABASE (your log database name) -- We'll name it "log".
mysql> CREATE DATABASE log;
Подесите дозволе за корисника којег смо раније креирали под именом админ .
mysql> GRANT ALL ON log.* TO admin@localhost;
Вратите потребне табеле у вашу Рагнарок и базу података дневника. Ажурирајте своју лозинку након тога -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
Креирање налога за игру
За приступ бази података користимо пхпМиАдмин који смо раније инсталирали. Приступите пхпМиАдмин-у преко свог веб претраживача.
Изаберите ragnarokбазу података и изаберите loginтабелу. Видимо да постоји један запис у тој табели. Немојте га још брисати / мењати. Користи га сервер. Да бисте креирали налог за игру, кликните на картицу СКЛ док сте на loginтабели да бисте отворили уређивач упита. Покрените следећи упит.
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');
Убацили смо новог корисника у табелу за пријаву са следећим информацијама.
- аццоунт_ид = 2000000 (Увек почните са 2000000, а затим са 2000001...)
- усерид = админ (Ваше корисничко име у игри)
- усер_пасс = пассворд123 (Лозинка за ваш налог)
- сек = М (М или Ж, не користите С јер је само за сервер)
- емаил = емаил@емаил.цом (е-адреса вашег налога, користи се за брисање слотова за карактере у игри)
- гроуп_ид = 99 (погледајте
/rathena/conf/groups.confи проверите ид линије. За сада, 99 да бисте ово учинили ГМ налогом за коришћење специјалних команди у игрици.)
- цхарацтер_слотс = 9 (Број знакова који се могу креирати по налогу)
Остале вредности оставите какве јесу. Честитам. Успешно сте креирали свој налог за игру.
Конфигурисање серверских датотека
Прво, морате знати ИП адресу вашег сервера. Можда већ знате ово јер је већ било укључено у информације о серверу вашег Вултр ВПС-а. Ако желите да проверите, откуцајте:
ifconfig
Потражите део етх0 инет аддр:ккк.ккк.ккк.ккк . ккк.ккк.ккк.ккк ће бити ИП адреса вашег сервера. Ако имате инсталиран Апацхе, можете приступити овоме да бисте проверили да ли ваш веб сервер ради.
У ФилеЗилла, пријавите се на свој ВПС са акредитивима вашег сервера и приступите /rAthena/confфасцикли.
Уредите char_athena.confи map_athena.confпомоћу жељеног уређивача текста.
Уреди char_athena.confод:
// 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
До:
// 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
Где xxx.xxx.xxx.xxxје ИП адреса вашег сервера.
У inter_athena.txtдатотеци направите ове промене:
// 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.txtдатотеци направите ове промене:
// 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
Где xxx.xxx.xxx.xxxје ИП адреса вашег сервера.
Отворите subnet_athena.txtи подесите ИП адресу.
subnet: 255.0.0.0:x.x.x.x:x.x.x.x
И завршили смо са конфигурисањем сервера.
Компајлирање рАтхена сервера
Сада је време за компајлирање сервера! У овом делу морате да знате коју верзију клијента Рагнарок Онлине ћете користити за повезивање са сервером. За подешавање клијента, посетите ову страницу .
Након што одлучите који клијент ћете користити, уредимо неке датотеке. Рецимо само, одлучили смо да користимо 08072013клијент јер је ово стабилан клијент за обнову.
Покрените ову команду на терминалу:
./configure --enable-packetver=YYYYMMDD
Замените YYYYMMDDдатумом клијента (преформатирано).
./configure --enable-packetver=20130807
Скрипта за конфигурисање ће извршити неопходне тестове и генерисати макефиле за наш сервер.
Након тога, компајлирајте изворни код уношењем ових команди:
make server
chmod a+x login-server && chmod a+x char-server && chmod a+x map-server
... и сачекајте да се заврши. Ако извршите измене на датотекама унутар /rAthena/srcфасцикле, мораћете да је поново компајлирате.
make clean
make server
Конфигурисање пакетне верзије за клијентске везе
У ФилеЗилла, поставите показивач на /rAthena/dbфасциклу и уредите packet_db.txt.
Пронађите ову линију и уредите:
//
//packet_db_ver: 46
packet_db_ver: default
packet_keys_use: default
Пошто користимо 2013-08-07Ragexeклијента, пронађите наведеног клијента испод и потражите његове пацкет_вер и пацкет_кеис .
//2013-08-07Ragexe
packet_ver: 45
packet_keys: 0x7E241DE0,0x5E805580,0x3D807D80 // [Shakto]
Замените подразумевану вредност packet_db_verи packet_keys_useу наведене вредности клијента.
//
//packet_db_ver: 46
packet_db_ver: 45
packet_keys_use: 0x7E241DE0,0x5E805580,0x3D807D80
И сачувај. Ово је за одређивање клијента који ће играчи користити. Не желимо да они могу да користе своју верзију избора.
Покретање сервера
Након компајлирања серверских датотека, користите ове команде да бисте покренули сервер.
Почети:
./athena-start start
Да се заустави:
./athena-start stop
Рестартовати:
./athena-start restart
Ако сте наишли на грешку попут ове:
-bash: ./athena-start: /bin/sh^M: bad interpreter
... онда морате да инсталирате дос2уник да бисте конвертовали скрипту.
apt-get install dos2unix
dos2unix athena-start
chmod a+x athena-start
Након што покренете те команде, поново покрените сервер.
Сада када смо завршили са подешавањем сервера, само треба да подесите ваш Рагнарок клијент да показује на ваш ВПС сервер. Уживајте у игри на свом новом серверу!
Референце