Dalam artikel ini, kita akan menyediakan Pelayan Dalam Talian Ragnarok di Ubuntu 14.04 x64. Anda boleh log masuk sebagai root atau pengguna dengan hak istimewa pengguna. Lebih selamat untuk menetapkannya sebagai pengguna bukan root dengan sudo. Dalam tutorial ini, kita akan menggunakan fail pelayan rAthena.
Sekiranya anda menggunakan Windows dan anda mempunyai Pelayan Ubuntu (VPS atau Dedicated), anda memerlukan program berikut.
- FailZilla
- RINGKAS
- Penyunting teks (Disarankan Luhur atau Notepad ++)
Keperluan
- apache2 - Sekiranya anda merancang untuk menggunakan phpMyAdmin untuk akses mysql jauh dan menyiapkan laman web anda.
- php5 - Untuk web dan phpMyAdmin.
- phpmyadmin - Akses MySQL jauh menggunakan penyemak imbas web.
- mysql-server - pangkalan data kami untuk pelayan permainan.
- pelanggan mysql
- git
- membuat
- gcc
- libmysqlclient-dev
- zlib1g-dev
- libpcre3-dev - Pilihan, untuk sokongan PCRE.
- libssl-dev - Diperlukan, untuk menyusun dengan MySQL 5.5.
Anda boleh merujuk panduan ini mengenai pemasangan Apache, MySQL dan PHP.
Memasang pakej yang diperlukan
Jalankan arahan ini melalui SSH.
-
Pengguna root:
apt-get install php5 phpmyadmin mysql-server mysql-client git make gcc libmysqlclient-dev zlib1g-dev libpcre3-dev
-
Bukan root dengan hak istimewa sudo:
sudo apt-get install php5 phpmyadmin mysql-server mysql-client git make gcc libmysqlclient-dev zlib1g-dev libpcre3-dev
Setelah berjaya memasang keperluan pelayan, mari kita terus memasang dan mengkonfigurasi fail pelayan.
Memuat turun fail pelayan
Sekarang, kita akan mendapat kemas kini terbaru fail pelayan rAthena. Ini adalah fail yang diperlukan untuk menjalankan pelayan Ragnarok Online. Terdapat fail pelayan lain yang dapat digunakan, seperti Hercules dan eAthena, tetapi dalam tutorial ini, kami menggunakan rAthena. Jalankan arahan di bawah untuk memuat turun fail.
git clone https://github.com/rathena/rathena.git ~/rAthena
Ini akan meletakkan semua fail di dalam rAthenadirektori semasa anda di terminal.
Untuk mengemas kini fail pelayan ke semakan terkini, jalankan perintah ini.
cd rAthena
git pull
Persediaan MySQL
Di bahagian ini, kami mengkonfigurasi MySQL untuk pangkalan data pelayan kami. Pertama, periksa sama ada Pelayan MySQL anda berjalan.
service mysql status
Sekiranya tidak berjalan, masukkan arahan ini.
service mysqld start
Setelah menjalankan perintah di atas, buka konsol MySQL.
mysql -u root -p
Anda akan diminta kata laluan root anda. Setelah log masuk, ketik perintah berikut untuk membuat pangkalan data untuk pelayan kami.
BUAT DATABASE (nama pangkalan data ragnarok anda); - Kami akan menamakannya "ragnarok".
mysql> CREATE DATABASE ragnarok;
Kemudian, buat pengguna baru untuk Ragnarok DB dan log DB.
MEMBERIKAN SEMUA DI Ragnarok. * KE nama data anda @ localhost DIKENALI OLEH "kata sandi anda"; - Kami akan membuat pengguna baru yang dipanggil admin dengan kata laluan 123456 .
mysql> GRANT ALL ON ragnarok.* TO admin@localhost IDENTIFIED BY "123456";
Anda boleh mengganti localhost dengan alamat IP jika anda mahu pengguna dapat mengakses pelayan MySQL anda dari jauh.
Buat pangkalan data log untuk log permainan Ragnarok.
BUAT DATABASE (nama pangkalan data log anda) - Kami akan menamakannya "log".
mysql> CREATE DATABASE log;
Tetapkan kebenaran untuk pengguna yang kita buat sebelumnya bernama admin .
mysql> GRANT ALL ON log.* TO admin@localhost;
Pulihkan jadual yang diperlukan dalam pangkalan data Ragnarok dan log anda. Kemas kini kata laluan anda selepas itu -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
Membuat akaun permainan
Kami menggunakan phpMyAdmin yang kami pasang lebih awal untuk mengakses pangkalan data. Akses phpMyAdmin melalui penyemak imbas web anda.
Pilih ragnarokpangkalan data dan pilih loginjadual. Kita dapat melihat bahawa terdapat satu rekod dalam jadual itu. Jangan hapus / ubah suai. Ia digunakan oleh pelayan. Untuk membuat akaun permainan, klik tab SQL semasa berada di atas loginmeja untuk membuka editor pertanyaan. Jalankan pertanyaan berikut.
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');
Kami telah memasukkan pengguna baru dalam jadual log masuk dengan maklumat berikut.
- account_id = 2000000 (Sentiasa mulakan dengan 2000000, kemudian 2000001 ...)
- userid = admin (Nama pengguna dalam permainan anda)
- user_pass = password123 (Kata laluan untuk akaun anda)
- sex = M (M atau F, jangan gunakan S kerana hanya untuk pelayan)
- email = [email protected] (E-mel akaun anda, digunakan untuk menghapus slot watak dalam permainan)
- group_id = 99 (rujuk
/rathena/conf/groups.confdan periksa baris id. Buat masa ini, 99 untuk menjadikan ini akaun GM untuk penggunaan perintah khas.)
- character_slots = 9 (Bilangan watak yang boleh dibuat setiap akaun)
Tinggalkan nilai lain sebagaimana adanya. Selamat bertunang. Anda berjaya membuat akaun anda untuk permainan.
Mengkonfigurasi fail pelayan
Pertama, anda mesti mengetahui alamat IP pelayan anda. Anda mungkin sudah mengetahui perkara ini kerana sudah dimasukkan dalam maklumat pelayan Vultr VPS anda. Sekiranya anda ingin menyemaknya, taip:
ifconfig
Cari bahagian eth0 inet addr: xxx.xxx.xxx.xxx . xxx.xxx.xxx.xxx akan menjadi alamat IP pelayan anda. Sekiranya anda memasang Apache, anda boleh mengaksesnya untuk memeriksa sama ada pelayan web anda berjalan.
Di FileZilla, log masuk ke VPS anda dengan kelayakan pelayan anda dan akses /rAthena/conffolder tersebut.
Edit char_athena.confdan map_athena.confdengan penyunting teks pilihan anda.
Edit char_athena.confdari:
// 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
Kepada:
// 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
Di manakah xxx.xxx.xxx.xxxalamat IP pelayan anda.
Dalam inter_athena.txtfail, buat perubahan ini:
// 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
Dalam map_athena.txtfail, buat perubahan ini:
// 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
Di manakah xxx.xxx.xxx.xxxalamat IP pelayan anda.
Buka subnet_athena.txtdan tetapkan Alamat IP.
subnet: 255.0.0.0:x.x.x.x:x.x.x.x
Dan kami selesai mengkonfigurasi pelayan.
Menyusun pelayan rAthena
Sekarang, masa untuk menyusun pelayan! Pada bahagian ini, anda perlu mengetahui versi klien Ragnarok Online yang akan anda gunakan untuk menyambung ke pelayan. Untuk persediaan pelanggan, lawati halaman ini .
Setelah anda memutuskan pelanggan mana yang akan digunakan, mari kita edit beberapa fail. Katakan, kami memilih untuk menggunakan 08072013pelanggan kerana ini adalah pelanggan pembaharuan yang stabil.
Jalankan arahan ini di terminal:
./configure --enable-packetver=YYYYMMDD
Ganti YYYYMMDDdengan tarikh pelanggan (diformat semula).
./configure --enable-packetver=20130807
Skrip konfigurasi akan melakukan ujian yang diperlukan dan menghasilkan fail untuk pelayan kami.
Setelah itu, kompilasi kod sumber dengan memasukkan perintah berikut:
make server
chmod a+x login-server && chmod a+x char-server && chmod a+x map-server
... dan tunggu sehingga selesai. Sekiranya anda membuat pengubahsuaian pada fail di dalam /rAthena/srcfolder, anda perlu mengumpulkannya semula.
make clean
make server
Mengkonfigurasi versi paket untuk sambungan pelanggan
Di FileZilla, arahkan ke /rAthena/dbfolder dan edit packet_db.txt.
Cari baris ini dan edit:
//
//packet_db_ver: 46
packet_db_ver: default
packet_keys_use: default
Oleh kerana kami menggunakan 2013-08-07Ragexeklien, cari klien yang ditentukan di bawah dan cari packet_ver dan packet_keys .
//2013-08-07Ragexe
packet_ver: 45
packet_keys: 0x7E241DE0,0x5E805580,0x3D807D80 // [Shakto]
Ganti nilai lalai packet_db_verdan packet_keys_useke nilai klien yang ditentukan.
//
//packet_db_ver: 46
packet_db_ver: 45
packet_keys_use: 0x7E241DE0,0x5E805580,0x3D807D80
Dan simpan. Ini untuk menentukan pelanggan apa yang akan digunakan oleh pemain. Kami tidak mahu mereka dapat menggunakan versi pilihan mereka.
Memulakan pelayan
Setelah menyusun fail pelayan, gunakan perintah ini untuk menjalankan pelayan.
Untuk mula:
./athena-start start
Untuk berhenti:
./athena-start stop
Untuk memulakan semula:
./athena-start restart
Sekiranya anda mengalami ralat seperti ini:
-bash: ./athena-start: /bin/sh^M: bad interpreter
... maka anda perlu memasang dos2unix untuk menukar skrip.
apt-get install dos2unix
dos2unix athena-start
chmod a+x athena-start
Setelah menjalankan perintah tersebut, mulakan pelayan semula.
Setelah selesai dengan penyediaan pelayan, anda hanya perlu menetapkan klien Ragnarok anda untuk menunjuk ke pelayan VPS anda. Selamat bermain di pelayan baru anda!
Rujukan