0x00 预设条件
假设你的服务器 IP 如下:
- 本地回环地址: 127.0.0.1
- 局域网地址: 192.168.1.2
- 公网地址: 9.8.7.6
首先需要知道 服务端 和 客户端 在哪里配置 IP 的。
0x10 服务端配置
0x11 单机模式
在 单机 情况下,服务端配置是这样的:
- 登录服务器配置文件:
conf/login_athena.conf
- bind_ip: 127.0.0.1 (默认被注释)
- 角色服务器配置文件:
conf/char_athena.conf
- char_ip: 127.0.0.1
- login_ip: 127.0.0.1
- bind_ip: 127.0.0.1 (默认被注释)
- 地图服务器配置文件:
conf/map_athena.conf
- map_ip: 127.0.0.1
- char_ip: 127.0.0.1
- bind_ip: 127.0.0.1 (默认被注释)
根据联机所架设的网络不同(共 3 种架设方式),配置方法也不同。
0x12 仅 局域网 联机
若仅需 局域网 联机,服务端配置修改为(共修改 4 处):
- 登录服务器配置文件:
conf/login_athena.conf
- bind_ip: 127.0.0.1 (保持被注释)
- 角色服务器配置文件:
conf/char_athena.conf
- char_ip: 192.168.1.2
- login_ip: 192.168.1.2
- bind_ip: 127.0.0.1 (保持被注释)
- 地图服务器配置文件:
conf/map_athena.conf
- map_ip: 192.168.1.2
- char_ip: 192.168.1.2
- bind_ip: 127.0.0.1 (保持被注释)
注:局域网下,子网掩码配置文件
conf/subnet_athena.conf
可能会影响客户端登录。该文件通过子网掩码计算客户端所配置的服务端 IP ,只要结果和服务器的真实局域网 IP 一致就允许服务端登录(换言之允许客户端配置服务端的 IP 段)。
0x13 仅 公网 联机
若仅需 公网 联机,服务端配置修改为(共修改 4 处):
- 登录服务器配置文件:
conf/login_athena.conf
- bind_ip: 127.0.0.1 (保持被注释)
- 角色服务器配置文件:
conf/char_athena.conf
- char_ip: 9.8.7.6
- login_ip: 9.8.7.6
- bind_ip: 127.0.0.1 (保持被注释)
- 地图服务器配置文件:
conf/map_athena.conf
- map_ip: 9.8.7.6
- char_ip: 9.8.7.6
- bind_ip: 127.0.0.1 (保持被注释)
0x14 局域网+公网 联机
若同时需 局域网+公网 联机,服务端配置修改为(共修改 7 处):
- 登录服务器配置文件:
conf/login_athena.conf
- bind_ip: 192.168.1.2
- 角色服务器配置文件:
conf/char_athena.conf
- char_ip: 9.8.7.6
- login_ip: 9.8.7.6
- bind_ip: 192.168.1.2
- 地图服务器配置文件:
conf/map_athena.conf
- map_ip: 9.8.7.6
- char_ip: 9.8.7.6
- bind_ip: 192.168.1.2
0x20 客户端配置
0x21 连接 login/char/map 服务
客户端默认情况下是不存在 IP 配置文件的,需要手动添加一个文件 data/sclientinfo.xml
。
这里只是默认值,实际需要与 DIFF 时定义的文件一致,详细参考《从零开始 DIFF Ragnarok 登入器教程》
根据客户端要走 局域网 还是 公网 接入服务端,对应修改 <address>
的值即可。
完整的 data/sclientinfo.xml
文件内容如下:
<?xml version="1.0" encoding="gbk3212" ?>
<clientinfo>
<servicetype>china</servicetype>
<servertype>primary</servertype>
<extendedslot>2</extendedslot>
<connection>
<display>仙境传说</display>
<desc></desc>
<balloon></balloon>
<address>127.0.0.1</address>
<port>6900</port>
<version>45</version>
<langtype>3</langtype>
<registrationweb>http://127.0.0.1/ro</registrationweb>
<yellow>
<admin>2000000</admin>
</yellow>
<loading>
<image>loading00.jpg</image>
<image>loading01.jpg</image>
<image>loading02.jpg</image>
<image>loading03.jpg</image>
<image>loading04.jpg</image>
<image>loading05.jpg</image>
<image>loading06.jpg</image>
<image>loading07.jpg</image>
<image>loading08.jpg</image>
</loading>
</connection>
</clientinfo>
0x22 连接 web 服务
web 服务影响公会图标的上传和显示,无其他作用。
它的配置文件比较特殊,在 data\luafiles514\lua files\service_korea\externalsettings_kr.lub
中。
找到这行,修改 WEB_IP
为实际的 web 服务 IP 即可。
AssistAddr = "WEB_IP:3000"
实际上,是不是用
externalsettings_kr.lub
这个文件,与前面配置data/sclientinfo.xml
的<langtype>
有关,详细可参考《「RO 笔记」汉化个人信息面板的职业名》