Sediakan Pelayan Dalam Talian Ragnarok di Ubuntu 14.04 x64

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@email.com', '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@email.com (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



Leave a Comment

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

Ramai daripada anda tahu Switch akan keluar pada Mac 2017 dan ciri baharunya. Bagi yang tidak tahu, kami telah menyediakan senarai ciri yang menjadikan 'Tukar' sebagai 'gajet yang mesti ada'.

Janji Teknologi Yang Masih Tidak Ditepati

Janji Teknologi Yang Masih Tidak Ditepati

Adakah anda menunggu gergasi teknologi memenuhi janji mereka? semak apa yang masih belum dihantar.

Fungsi Lapisan Seni Bina Rujukan Data Besar

Fungsi Lapisan Seni Bina Rujukan Data Besar

Baca blog untuk mengetahui lapisan berbeza dalam Seni Bina Data Besar dan fungsinya dengan cara yang paling mudah.

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Baca ini untuk mengetahui cara Kecerdasan Buatan semakin popular di kalangan syarikat berskala kecil dan cara ia meningkatkan kebarangkalian untuk menjadikan mereka berkembang dan memberikan pesaing mereka kelebihan.

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA telah menjadi agak sukar untuk diselesaikan oleh pengguna dalam beberapa tahun kebelakangan ini. Adakah ia dapat kekal berkesan dalam pengesanan spam dan bot pada masa hadapan?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Apabila Sains Berkembang pada kadar yang pantas, mengambil alih banyak usaha kita, risiko untuk menundukkan diri kita kepada Ketunggalan yang tidak dapat dijelaskan juga meningkat. Baca, apakah makna ketunggalan bagi kita.

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Apakah teleperubatan, penjagaan kesihatan jauh dan impaknya kepada generasi akan datang? Adakah ia tempat yang baik atau tidak dalam situasi pandemik? Baca blog untuk mencari paparan!

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Anda mungkin pernah mendengar bahawa penggodam memperoleh banyak wang, tetapi pernahkah anda terfikir bagaimana mereka memperoleh wang seperti itu? Mari berbincang.

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Baru-baru ini Apple mengeluarkan macOS Catalina 10.15.4 kemas kini tambahan untuk menyelesaikan masalah tetapi nampaknya kemas kini itu menyebabkan lebih banyak masalah yang membawa kepada pemusnahan mesin mac. Baca artikel ini untuk mengetahui lebih lanjut