ติดตั้ง Ragnarok Online Server บน Ubuntu 14.04 x64

ในบทความนี้เราจะทำการติดตั้ง Ragnarok Online Server บน Ubuntu 14.04 x64 คุณสามารถล็อกอินในฐานะผู้ใช้รูทหรือผู้ใช้ที่มีสิทธิ์ superuser การตั้งค่านี้เป็นผู้ใช้ที่ไม่ใช่รูทด้วย sudo ปลอดภัยยิ่งขึ้น ในบทช่วยสอนนี้เราจะใช้ไฟล์เซิร์ฟเวอร์ rAthena

หากคุณใช้ Windows และคุณมีเซิร์ฟเวอร์ Ubuntu (VPS หรือเฉพาะ) คุณจะต้องใช้โปรแกรมต่อไปนี้

  • FileZilla
  • ฉาบ
  • แก้ไขข้อความ (แนะนำ Sublime หรือ Notepad ++)

ความต้องการ

  • apache2 - หากคุณวางแผนที่จะใช้ phpMyAdmin สำหรับการเข้าถึง mysql จากระยะไกลและตั้งค่าเว็บไซต์ของคุณ
  • php5 - สำหรับเว็บและ phpMyAdmin
  • phpmyadmin - การเข้าถึง MySQL ระยะไกลโดยใช้เว็บเบราว์เซอร์
  • mysql-server - ฐานข้อมูลของเราสำหรับเซิร์ฟเวอร์เกม
  • MySQL ลูกค้า
  • คอมไพล์
  • แต่งหน้า
  • GCC
  • libmysqlclient-dev
  • zlib1g-dev
  • libpcre3-dev - ตัวเลือกสำหรับการสนับสนุน PCRE
  • libssl-dev - จำเป็นสำหรับการรวบรวมด้วย MySQL 5.5

คุณสามารถอ้างอิงคู่มือนี้เกี่ยวกับการติดตั้ง Apache, MySQL และ PHP


การติดตั้งแพ็คเกจที่จำเป็น

รันคำสั่งเหล่านี้ผ่าน SSH

  • ผู้ใช้รูท:

    apt-get install php5 phpmyadmin mysql-server mysql-client git make gcc libmysqlclient-dev zlib1g-dev libpcre3-dev
    
  • ไม่ใช่รูทพร้อมสิทธิ์ sudo:

    sudo apt-get install php5 phpmyadmin mysql-server mysql-client git make gcc libmysqlclient-dev zlib1g-dev libpcre3-dev
    

หลังจากติดตั้งข้อกำหนดเซิร์ฟเวอร์สำเร็จแล้วให้ดำเนินการติดตั้งและกำหนดค่าไฟล์เซิร์ฟเวอร์ต่อไป


กำลังดาวน์โหลดไฟล์เซิร์ฟเวอร์

ตอนนี้เรากำลังจะได้รับการอัพเดทล่าสุดของไฟล์เซิร์ฟเวอร์ rAthena ไฟล์เหล่านี้เป็นไฟล์ที่ต้องใช้ในการรันเซิร์ฟเวอร์ Ragnarok Online มีไฟล์เซิร์ฟเวอร์อื่น ๆ ที่สามารถใช้งานได้เช่น Hercules และ eAthena แต่ในบทช่วยสอนนี้เราใช้ rAthena เรียกใช้คำสั่งด้านล่างเพื่อดาวน์โหลดไฟล์

    git clone https://github.com/rathena/rathena.git ~/rAthena

สิ่งนี้จะวางไฟล์ทั้งหมดภายในrAthenaไดเรกทอรีปัจจุบันของคุณใน terminal

หากต้องการอัพเดตไฟล์เซิร์ฟเวอร์เป็นเวอร์ชันล่าสุดให้รันคำสั่งนี้

    cd rAthena
    git pull

ตั้งค่า MySQL

ในส่วนนี้เรากำลังกำหนดค่า MySQL สำหรับฐานข้อมูลของเซิร์ฟเวอร์ของเรา ก่อนอื่นให้ตรวจสอบว่าเซิร์ฟเวอร์ MySQL ของคุณทำงานอยู่หรือไม่

    service mysql status

ถ้ามันไม่ทำงานให้ป้อนคำสั่งนี้

    service mysqld start

หลังจากเรียกใช้คำสั่งข้าง���้นให้เปิดคอนโซล MySQL

    mysql -u root -p

คุณจะถูกถามถึงรหัสผ่านรูทของคุณ หลังจากล็อกอินให้พิมพ์คำสั่งต่อไปนี้เพื่อสร้างฐานข้อมูลสำหรับเซิร์ฟเวอร์ของเรา

สร้างฐานข้อมูล (ชื่อฐานข้อมูลแร็กนาร็อคของคุณ); - เราจะตั้งชื่อมันว่า "ragnarok"

    mysql> CREATE DATABASE ragnarok;

จากนั้นสร้างผู้ใช้ใหม่สำหรับ Ragnarok DB และบันทึกฐานข้อมูล

ได้รับทั้งหมดใน ragnarok. * ถึง yourdatabaseusername @ localhost ระบุด้วย "yourdesiredpassword"; - เราจะสร้างผู้ใช้ใหม่ที่เรียกว่าผู้ดูแลระบบด้วยรหัสผ่านของ123456

    mysql> GRANT ALL ON ragnarok.* TO admin@localhost IDENTIFIED BY "123456";

คุณสามารถแทนที่localhostด้วยที่อยู่ IP หากคุณต้องการให้ผู้ใช้สามารถเข้าถึงเซิร์ฟเวอร์ MySQL ของคุณจากระยะไกล

สร้างฐานข้อมูลบันทึกสำหรับบันทึกเกม Ragnarok

สร้างฐานข้อมูล (ชื่อฐานข้อมูลบันทึกของคุณ) - เราจะตั้งชื่อมันว่า "บันทึก"

    mysql> CREATE DATABASE log;

ตั้งค่าสิทธิ์สำหรับผู้ใช้ที่เราสร้างขึ้นก่อนหน้านี้ชื่อผู้ดูแลระบบ

    mysql> GRANT ALL ON log.* TO admin@localhost;

กู้คืนตารางที่ต้องการใน Ragnarok และฐานข้อมูลบันทึกของคุณ อัปเดตรหัสผ่านของคุณหลังจาก-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

สร้างบัญชีเกม

เรากำลังใช้ phpMyAdmin ที่เราติดตั้งไว้ก่อนหน้านี้เพื่อเข้าถึงฐานข้อมูล เข้าถึง phpMyAdmin ผ่านเว็บเบราว์เซอร์ของคุณ

เลือกragnarokฐานข้อมูลและเลือกloginตาราง เราเห็นได้ว่ามีหนึ่งระเบียนในตารางนั้น อย่าลบ / แก้ไข มันถูกใช้โดยเซิร์ฟเวอร์ หากต้องการสร้างบัญชีเกมให้คลิกแท็บ SQL ในขณะที่อยู่บน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 protected]', '99', '0', '0', '0', '0', '0000-00-00 00:00:00', '', '0000-00-00', '9', '', '0', '0', '0');

เราได้แทรกผู้ใช้ใหม่ในตารางเข้าสู่ระบบด้วยข้อมูลต่อไปนี้

  • account_id = 2000000 (เริ่มต้นด้วย 2000000 เสมอแล้ว 2000001 ... )
  • userid = admin (ชื่อผู้ใช้ในเกมของคุณ)
  • user_pass = password123 (รหัสผ่านสำหรับบัญชีของคุณ)
  • sex = M (M หรือ F อย่าใช้ S เพราะใช้เพื่อเซิร์ฟเวอร์เท่านั้น)
  • email = [email protected] (อีเมลของบัญชีของคุณใช้สำหรับลบสล็อตอักขระในเกม)
  • group_id = 99 (อ้างถึง/rathena/conf/groups.confและตรวจสอบบรรทัด id ตอนนี้ 99 เพื่อให้บัญชี GM สำหรับการใช้คำสั่งพิเศษในเกม)
  • character_slots = 9 (จำนวนอักขระที่สามารถสร้างได้ต่อบัญชี)

ปล่อยให้ค่าอื่น ๆ ตามที่เป็นอยู่ ขอแสดงความยินดี คุณสร้างบัญชีสำหรับเกมสำเร็จแล้ว


การกำหนดค่าไฟล์เซิร์ฟเวอร์

ก่อนอื่นคุณต้องรู้ที่อยู่ IP ของเซิร์ฟเวอร์ของคุณ คุณอาจทราบดีอยู่แล้วเนื่องจากข้อมูลนี้รวมอยู่ในข้อมูลเซิร์ฟเวอร์ของ Vultr VPS ของคุณแล้ว หากคุณต้องการตรวจสอบให้พิมพ์:

    ifconfig

มองหา eth0 inet addr: xxx.xxx.xxx.xxxส่วนหนึ่ง xxx.xxx.xxx.xxxจะเป็นที่อยู่ IP ของเซิร์ฟเวอร์ของคุณ หากคุณติดตั้ง Apache ไว้คุณสามารถเข้าถึงสิ่งนี้เพื่อตรวจสอบว่าเว็บเซิร์ฟเวอร์ของคุณกำลังทำงานอยู่หรือไม่

ใน FileZilla ให้ลงชื่อเข้าใช้ VPS ของคุณด้วยข้อมูลรับรองเซิร์ฟเวอร์และเข้าถึง/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.xxxIP ของเซิร์ฟเวอร์ของคุณอยู่ที่ไหน

ใน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.xxxIP ของเซิร์ฟเวอร์ของคุณอยู่ที่ไหน

เปิดsubnet_athena.txtและตั้งค่าที่อยู่ IP

    subnet: 255.0.0.0:x.x.x.x:x.x.x.x

และเราทำการกำหนดค่าเซิร์ฟเวอร์เรียบร้อยแล้ว


รวบรวมเซิร์ฟเวอร์ rAthena

ตอนนี้ถึงเวลารวบรวมเซิร์ฟเวอร์! ในส่วนนี้คุณจำเป็นต้องรู้เวอร์ชันไคลเอนต์ Ragnarok Online ที่คุณจะใช้เชื่อมต่อกับเซิร์ฟเวอร์ สำหรับการตั้งค่าไคลเอนต์เยี่ยมชมหน้านี้

หลังจากคุณตัดสินใจว่าจะใช้ไคลเอ็นต์รายใดให้แก้ไขไฟล์บางไฟล์ สมมติว่าเราเลือกที่จะใช้08072013ลูกค้าเนื่องจากนี่เป็นไคลเอนต์ต่ออายุที่มีเสถียรภาพ

รันคำสั่งนี้บนเทอร์มินัล:

    ./configure --enable-packetver=YYYYMMDD

แทนที่YYYYMMDDด้วยวันที่ลูกค้า (จัดรูปแบบใหม่)

    ./configure --enable-packetver=20130807

สคริปต์การกำหนดค่าจะทำการทดสอบที่จำเป็นและสร้าง makefiles สำหรับเซิร์ฟเวอร์ของเรา

หลังจากนั้นรวบรวมซอร์สโค้ดโดยป้อนคำสั่งเหล่านี้:

    make server
    chmod a+x login-server && chmod a+x char-server && chmod a+x map-server

... และรอให้เสร็จ หากคุณทำการแก้ไขไฟล์ใน/rAthena/srcโฟลเดอร์คุณจะต้องทำการคอมไพล์ใหม่

    make clean
    make server

การกำหนดค่าเวอร์ชันแพ็คเก็ตสำหรับการเชื่อมต่อลูกค้า

ใน FileZilla ชี้ไปยังโฟลเดอร์และแก้ไข/rAthena/dbpacket_db.txt

ค้นหาบรรทัดนี้และแก้ไข:

    //
    //packet_db_ver: 46
    packet_db_ver: default
    packet_keys_use: default

เนื่องจากเรากำลังใช้2013-08-07Ragexeของลูกค้าพบว่าลูกค้าที่ระบุด้านล่างและมองหามันpacket_verและpacket_keys

    //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

... จากนั้นคุณต้องติดตั้ง dos2unix เพื่อแปลงสคริปต์

    apt-get install dos2unix
    dos2unix athena-start 
    chmod a+x athena-start

หลังจากรันคำสั่งเหล่านั้นแล้วให้เริ่มเซิร์ฟเวอร์อีกครั้ง

ตอนนี้เราทำการตั้งค่าเซิร์ฟเวอร์เสร็จแล้วคุณเพียงแค่ตั้งค่าไคลเอนต์ Ragnarok ให้ชี้ไปที่เซิร์ฟเวอร์ VPS ของคุณ สนุกกับการเล่นบนเซิร์ฟเวอร์ใหม่ของคุณ!


อ้างอิง



Leave a Comment

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

เรียนรู้วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7; ระบบการจัดการเนื้อหา Headless ที่มีความยืดหยุ่นสูงและปลอดภัย

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

เรียนรู้วิธีการตั้งค่า Nginx บน Ubuntu สำหรับการสตรีมวิดีโอสด HLS ด้วยคำแนะนำที่ชัดเจนและเป็นประโยชน์

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

เรียนรู้การใช้ Percona XtraBackup สำหรับการสำรองข้อมูลด้วยวิธีที่เป็นระบบและง่ายดายบน WordPress ออนไลน์ของคุณ

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS ซึ่งเป็นโอเพ่นซอร์สและระบบปฏิบัติการฟรีพร้อมเวอร์ชันล่าสุดแล้ว สามารถตอบสนองความต้องการของผู้ใช้ Windows ยุคใหม่และล้ม Microsoft ได้หรือไม่? มาหาข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบเก่านี้ แต่เป็นประสบการณ์ OS ที่ใหม่กว่ากัน

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

การโจมตีของ Ransomware กำลังเพิ่มขึ้น แต่ AI สามารถช่วยจัดการกับไวรัสคอมพิวเตอร์ตัวล่าสุดได้หรือไม่? AI คือคำตอบ? อ่านที่นี่รู้ว่า AI boone หรือ bane

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

ในที่สุด Whatsapp ก็เปิดตัวแอพเดสก์ท็อปสำหรับผู้ใช้ Mac และ Windows ตอนนี้คุณสามารถเข้าถึง Whatsapp จาก Windows หรือ Mac ได้อย่างง่ายดาย ใช้ได้กับ Windows 8+ และ Mac OS 10.9+

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

อ่านข้อมูลนี้เพื่อทราบว่าปัญญาประดิษฐ์กำลังได้รับความนิยมในหมู่บริษัทขนาดเล็กอย่างไร และเพิ่มโอกาสในการทำให้พวกเขาเติบโตและทำให้คู่แข่งได้เปรียบ

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

เมื่อเร็ว ๆ นี้ Apple เปิดตัว macOS Catalina 10.15.4 การอัปเดตเสริมเพื่อแก้ไขปัญหา แต่ดูเหมือนว่าการอัปเดตทำให้เกิดปัญหามากขึ้นที่นำไปสู่การสร้างเครื่อง Mac อ่านบทความนี้เพื่อเรียนรู้เพิ่มเติม

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

คอมพิวเตอร์ของเราจัดเก็บข้อมูลทั้งหมดในลักษณะที่เรียกว่าระบบไฟล์บันทึก เป็นวิธีการที่มีประสิทธิภาพที่ช่วยให้คอมพิวเตอร์สามารถค้นหาและแสดงไฟล์ได้ทันทีที่คุณกดค้นหาhttps://wethegeek.com/?p=94116&preview=true