在Ubuntu 14.04 x64上安装Ragnarok Online Server

在本文中,我们将在Ubuntu 14.04 x64上安装Ragnarok Online Server。您可以以root用户或具有超级用户特权的用户身份登录。使用sudo将其设置为非root用户更为安全。在本教程中,我们将使用rAthena服务器文件。

如果使用Windows,并且具有Ubuntu Server(VPS或专用),则将需要以下程序。

  • FileZilla
  • 油灰
  • 文本编辑器(建议使用Sublime或Notepad ++)

要求

  • apache2-如果您打算使用phpMyAdmin进行远程mysql访问并设置您的网站。
  • php5-适用于Web和phpMyAdmin。
  • phpmyadmin-使用Web浏览器进行的远程MySQL访问。
  • mysql-server-游戏服务器的数据库。
  • mysql客户端
  • 吉特
  • 使
  • 海湾合作委员会
  • 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特权的非root用户:

    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当前目录的终端中。

要将服务器文件更新到最新版本,请运行此命令。

    cd rAthena
    git pull

MySQL设置

在这一部分中,我们正在为服务器的数据库配置MySQL。首先,检查您的MySQL Server是否正在运行。

    service mysql status

如果未运行,请输入此命令。

    service mysqld start

运行上述命令后,打开MySQL控制台。

    mysql -u root -p

系统将要求您输入root密码。登录后,键入以下命令为我们的服务器创建数据库。

CREATE DATABASE(您的ragnarok数据库名称);-我们将其命名为“ ragnarok”。

    mysql> CREATE DATABASE ragnarok;

然后,为Ragnarok数据库和日志数据库创建一个新用户。

*在yourdatabaseusername @ localhost上通过“ yourdesiredpassword”标识;-我们将创建一个名为admin的新用户,其密码为123456

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

如果希望用户能够远程访问MySQL服务器,则可以用IP地址替换localhost

为Ragnarok游戏日志创建日志数据库。

CREATE DATABASE(您的日志数据库名称)-我们将其命名为“ log”。

    mysql> CREATE DATABASE log;

为我们先前创建的名为admin的用户设置权限。

    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来访问数据库。通过Web浏览器访问phpMyAdmin。

选择ragnarok数据库,然后选择login表。我们可以看到该表中有一条记录。请勿删除/修改它。服务器使用它。若要创建游戏帐户,请在login表上单击“ SQL”选项卡以打开查询编辑器。运行以下查询。

    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,则可以访问它以检查Web服务器是否正在运行。

在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.xxx服务器的IP地址在哪里。

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服务器的IP地址在哪里。

打开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

configure脚本将执行必要的测试并为我们的服务器生成makefile。

之后,通过输入以下命令来编译源代码:

    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/db文件夹并进行编辑packet_db.txt

找到这一行并编辑:

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

由于我们正在使用2013-08-07Ragexe客户端,因此请在下面找到指定的客户端,并查找其packet_verpacket_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

在适用于Minecraft服务器的Ubuntu 14.04上安装MineOS

在适用于Minecraft服务器的Ubuntu 14.04上安装MineOS

MineOS是一个完整的Minecraft服务器平台,具有Web GUI,自动备份,存档,性能统计信息以及其他功能。配置

在CentOS 6上设置SA-MP San Andreas多人服务器

在CentOS 6上设置SA-MP San Andreas多人服务器

欢迎来到另一个Vultr教程。在这里,您将学习如何安装和运行SAMP服务器。本指南是为CentOS 6编写的。先决条件

如何在Ubuntu 16.04上安装Unturned 2.2.5

如何在Ubuntu 16.04上安装Unturned 2.2.5

使用其他系统?简介在本指南中,您将学习如何在运行Ubuntu 16.04的Vultr VPS上设置Unturned 2.2.5服务器。注意:锡

如何安装ARK:Debian 9的生存进化

如何安装ARK:Debian 9的生存进化

简介在本指南中,您将学习如何在Vultr VPS上创建ARK:Survival Evolved服务器。要求Vultr VPS至少为8192 M

Ubuntu上的反恐精英全球攻势服务器启动器

Ubuntu上的反恐精英全球攻势服务器启动器

那些拥有专门的CS:GO(反恐精英:全球攻势)经验的人都知道,使用命令行界面进行管理的过程

设置Garrys Mod服务器

设置Garrys Mod服务器

这些说明是为32位Ubuntu 14.04设计的,但在所有版本的Ubuntu上均应适用。本教程将教您如何制作Garrys Mod游戏

如何在Minecraft中修复腐败的世界

如何在Minecraft中修复腐败的世界

有时,《我的世界》中的世界可能会崩溃。本文介绍了如何修复破碎的世界。不幸的是,腐败的世界无法修复

CentOS 6上的Multicraft(Minecraft面板)

CentOS 6上的Multicraft(Minecraft面板)

Multicraft面板Multicraft是用于Minecraft服务器的简单,易于使用的基于Web的控制面板。您可以创建,停止,启动,监视,配置,上传

在Windows上安装Reflex Server

在Windows上安装Reflex Server

简介Reflex是Turbo Pixel Studios推出的具有竞争力的竞技场FPS。本教程将向您展示如何在以下服务器上设置自己的Reflex服务器

如何在Debian 8上安装Unturned 2.2.5

如何在Debian 8上安装Unturned 2.2.5

在本指南中,您将学习如何在运行Debian 8的Vultr VPS上设置Unturned 2.2.5服务器。注意:这是Unturned的编辑版本,不会

设置反恐精英:Debian的全球攻势

设置反恐精英:Debian的全球攻势

在本指南中,我们将在Debian 7上设置《反恐精英:全球攻势》游戏服务器。这些命令已经在Debian 7上进行了测试,但应该也可以

如何在CentOS 6服务器上安装Forge和Sponge(Minecraft)

如何在CentOS 6服务器上安装Forge和Sponge(Minecraft)

使用其他系统?在本文中,我们将介绍安装Sponge(一种Minecraft服务器)的过程。海绵是一个旨在

如何安装反恐精英:CentOS 7上的全球攻势

如何安装反恐精英:CentOS 7上的全球攻势

在本教程中,我将介绍如何设置“反恐精英:全球攻势”服务器。本指南中的步骤是针对CentOS 7编写的。

如何在Ubuntu上安装Killing Floor Server

如何在Ubuntu上安装Killing Floor Server

在本教程中,您将学习如何设置自己的Killing Floor服务器。这些命令是为Ubuntu编写的,但可能会被其他Linu采用

在Ubuntu 14.10上安装McMyAdmin

在Ubuntu 14.10上安装McMyAdmin

McMyAdmin是用于管理服务器的Minecraft服务器控制面板。尽管McMyAdmin是免费的,但有多个版本,其中一些是pai

Linux上具有TShock的Terraria服务器

Linux上具有TShock的Terraria服务器

Terraria是基于采矿,建筑和战斗的MMORPG。有人说它是Minecraft的2D版本,但这对Terraria来说是不公平的

如何在CentOS 6/7上安装Tekkit Classic服务器

如何在CentOS 6/7上安装Tekkit Classic服务器

使用其他系统?在本教程中,很高兴创建Tekkit Classic服务器。Tekkit是为Minecraft制造的另一种流行的modpack。由于阿蒙

在CentOS 6上创建Dota 2服务器

在CentOS 6上创建Dota 2服务器

在本文中,我们将创建Dota 2服务器。Dota是Steam背后的Valve公司发行的免费多人游戏。提醒一下,

如何在Windows上安装Multicraft

如何在Windows上安装Multicraft

简介Multicraft是一个Minecraft服务器管理控制面板,用于管理您的Minecraft服务器。在本教程中,我们将安装

如何在Linux上未安装

如何在Linux上未安装

使用其他系统?简介在本指南中,您将学习如何在Linux上设置和安装Unturned服务器。幸免于难

AI 能否應對越來越多的勒索軟件攻擊?

AI 能否應對越來越多的勒索軟件攻擊?

勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根

ReactOS:這是 Windows 的未來嗎?

ReactOS:這是 Windows 的未來嗎?

ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+

人工智能如何將流程自動化提升到新的水平?

人工智能如何將流程自動化提升到新的水平?

閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。

macOS Catalina 10.15.4 補充更新引發的問題多於解決

macOS Catalina 10.15.4 補充更新引發的問題多於解決

最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息

大數據的13個商業數據提取工具

大數據的13個商業數據提取工具

大數據的13個商業數據提取工具

什麼是日誌文件系統,它是如何工作的?

什麼是日誌文件系統,它是如何工作的?

我們的計算機以稱為日誌文件系統的有組織的方式存儲所有數據。這是一種有效的方法,可以讓計算機在您點擊搜索時立即搜索和顯示文件。 https://wethegeek.com/?p=94116&preview=true

技術奇點:人類文明的遙遠未來?

技術奇點:人類文明的遙遠未來?

隨著科學的快速發展,接管了我們的大量工作,我們陷入無法解釋的奇點的風險也在增加。閱讀,奇點對我們意味著什麼。

洞察 26 種大數據分析技術:第 1 部分

洞察 26 種大數據分析技術:第 1 部分

洞察 26 種大數據分析技術:第 1 部分

2021 年人工智能對醫療保健的影響

2021 年人工智能對醫療保健的影響

過去幾十年,醫療保健領域的人工智能取得了巨大飛躍。因此,醫療保健中人工智能的未來仍在日益增長。