Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
38c5884
- 账号共享任务
ShiraGawaAnri Jun 22, 2022
51a2562
- [新增] 账号共享任务
ShiraGawaAnri Jun 22, 2022
07e9bfb
Merge branch 'master' of https://github.com/ShiraGawaAnri/Pandas
ShiraGawaAnri Jun 22, 2022
07831b6
- fix quest_acc遗漏加载表名,遗漏声明函数
ShiraGawaAnri Jun 27, 2022
f88ea06
- 完成基本功能: 1.无断线跨服 2.跨服玩家同屏显示 3.跨服可交易 4.角色状态&角色背包正确保存
ShiraGawaAnri Jun 30, 2022
71c5e6b
- fix 大量技能的成功显示
ShiraGawaAnri Jun 30, 2022
d5428f4
- fix 虚空实体
ShiraGawaAnri Jun 30, 2022
1c04073
- fix 角色1、2之间使用单体技能
ShiraGawaAnri Jul 1, 2022
6b94039
- fix skill正确保存、修正ban指令
ShiraGawaAnri Jul 1, 2022
c5334fc
- fix 正确分开存储跨服和中立服的部分数据(如party,guild)等
ShiraGawaAnri Jul 3, 2022
ba01f7b
- fix 修正 源服务器 移动至 中立服务器时 party_id未正常切换的问题
ShiraGawaAnri Jul 3, 2022
86c639c
- fix 组队大部分问题
ShiraGawaAnri Jul 4, 2022
5910e0b
- fix 利用"伪装退出队伍"封包(clif_party_withdraw)使得空队伍时残留的队伍内容能够正常被清空
ShiraGawaAnri Jul 4, 2022
0362a40
- fix 普通攻击等没有显示伤害的问题
ShiraGawaAnri Jul 5, 2022
64c77ac
补上图片
ShiraGawaAnri Jul 5, 2022
1a9b6f6
Revert "- fix quest_acc遗漏加载表名,遗漏声明函数"
ShiraGawaAnri Jul 5, 2022
250d4fa
- fix @warp指令支持跨服 (但不支持被跨服的mapflag检查)
ShiraGawaAnri Jul 6, 2022
86cf03d
- update 新增"准备跨服时过滤器" OnPCCSFilter
ShiraGawaAnri Jul 6, 2022
5e52fb2
- update base.conf预定实现的选项
ShiraGawaAnri Jul 8, 2022
7d34606
- update 冒险家中介所的check
ShiraGawaAnri Jul 8, 2022
45a83a4
- 还原被修改的db
ShiraGawaAnri Jul 8, 2022
aefff7f
- update specialeffect等函数
ShiraGawaAnri Jul 8, 2022
2178ad4
- fix 一处引用的错误
ShiraGawaAnri Jul 8, 2022
2eb6c28
- fix conflict
ShiraGawaAnri Jul 8, 2022
4a8176d
- update 成就的对应
ShiraGawaAnri Jul 9, 2022
ed11fa9
- update 优化代码量
ShiraGawaAnri Jul 10, 2022
5624380
- update 新增单独校验链接char服务的userid,passwd
ShiraGawaAnri Jul 11, 2022
230d926
- update 移除无用的配置
ShiraGawaAnri Jul 11, 2022
2912fec
- update 移除不再使用的设计
ShiraGawaAnri Jul 11, 2022
a2aa5fc
- update 大幅改写中立Map->源服Char的连接方式,目前以新增单个线程管理
ShiraGawaAnri Jul 12, 2022
716f058
- update sync_every_char为no时的正确逻辑
ShiraGawaAnri Jul 12, 2022
be5b54a
- update 优化代码
ShiraGawaAnri Jul 13, 2022
b660124
- fix bug
ShiraGawaAnri Jul 13, 2022
d8d6c0f
- update 好友切换
ShiraGawaAnri Jul 14, 2022
685e9d2
- update 跨服独立背包/手推车/仓库开关
ShiraGawaAnri Jul 15, 2022
8f3ec92
- update 完美实现角色数据切换
ShiraGawaAnri Jul 16, 2022
cd956dd
- update 正确继承和更新个人变量/账号变量
ShiraGawaAnri Jul 16, 2022
efd5cd8
- update 更新佣兵/元素精灵/生命体/宠物的继承设定
ShiraGawaAnri Jul 18, 2022
db166b3
- fix bonus_script独立
ShiraGawaAnri Jul 18, 2022
2a815de
Merge branch 'master' of https://github.com/PandasWS/Pandas into cros…
ShiraGawaAnri Jul 18, 2022
863900e
- update 优化逻辑
ShiraGawaAnri Jul 19, 2022
f03baeb
- fix 没有公会时封包不正确的问题
ShiraGawaAnri Jul 19, 2022
8f73e96
- fix 刷新任务窗口
ShiraGawaAnri Aug 1, 2022
0e17457
- fix 跨服后职业不一致时,body_style值有可能使客户端报错的问题
ShiraGawaAnri Aug 1, 2022
b074c32
- update 增加控制全服务器可否掉落东西的行为
ShiraGawaAnri Aug 4, 2022
0b38e9a
- fix 在跨服时踢人后可能会崩溃的问题
ShiraGawaAnri Aug 9, 2022
f82a663
- fix 坐骑等未正确套用的问题
ShiraGawaAnri Aug 9, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 51 additions & 0 deletions conf/battle/crossserver.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
//所有以//注释的功能均未实现

//====================中立Map与各Char之间相关====================
//是否以同步阻塞的方式检查所有char的存活
//①:yes的情况下,任意char掉线时,中立Map都会忙于检查重连char而使得中立map大部分时间停顿(RA架构原生方式)
//②:no的情况下,则会保留该char掉线玩家的数据,并且中立map不会停顿,直到该char重连时,关于该char的玩家数据才得以正常保存
// 在这期间下线的玩家数据,有可能会回档
// no为了使得任意GM的服得以正常维护且不影响中立服的运行
// 这个时候必须源服的map-serv正常退出(ctrl+c或@mapexit)
//如果不熟悉,请保持默认的yes
sync_every_char: no

//====================以下为影响不同服之间的物品流通的选项====================
//如不想有任何互通,请在原来其他的conf中设置
//禁止交易、交易邮件、禁止舍弃物品等设定
//以及不启用diff_server_guild_join或不设置公会仓库的npc选项

//是否允许任意玩家在任何地图上抛弃道具到地面
cross_server_item_drop: yes

//是否允许来自不同服务器的玩家在中立服相互交易
//注意①: 必须先允许交易
//注意②: 如同时开启允许舍弃东西到地面,或者邮件等等将意义不大
diff_server_trade: yes

//是否允许来自不同服务器的玩家相互发邮件
//注意①: 必须先允许邮件
diff_server_mail: yes

//是否允许来自不同服务器的玩家购买对方的露天商店物品(包括buyingshop)
//注意①: 必须先允许交易
diff_server_vending: yes

//====================队伍以及公会相关限制====================
//是否允许来自不同服务器的玩家加入对方的队伍
//注意①: 必须先允许组队
diff_server_party_join: yes

//是否允许来自不同服务器的玩家加入对方的公会
//注意①: 必须先允许公会相关
diff_server_guild_join: yes

//====================继承源数据相关====================

//是否允许继承并在这基础上更新源服的背包/手推车/仓库/身上装备
//注意: yes/no之间的切换不会使得数据被覆盖
inherit_source_server_all_storage: yes

//====================预定加入的功能====================


5 changes: 5 additions & 0 deletions conf/battle_athena.conf
Original file line number Diff line number Diff line change
Expand Up @@ -65,5 +65,10 @@ import: conf/battle/feature.conf
// 包括但不限: 决斗机制、昼夜控制机制、禁言机制、日志设定等等
import: conf/battle/misc.conf

// 其他无法归类的选项都会被放在下面这个配置文件
// 包括但不限: 决斗机制、昼夜控制机制、禁言机制、日志设定等等
import: conf/battle/crossserver.conf

// 您自定义的配置, 可放在下面的配置文件中
import: conf/import/battle_conf.txt

4 changes: 2 additions & 2 deletions conf/char_athena.conf
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ wisp_server_name: Server

// 登录服务器端口
// 角色服务器会根据此处的配置和登录服务器建立连接
login_port: 6900
login_port: 16900

// 角色服务器的 IP 地址
// 当玩家通过登录服务器的验证之后, 会将这里设置的 IP 地址发送给客户端.
Expand All @@ -58,7 +58,7 @@ login_port: 6900

// 角色服务器端口 (默认端口为: 6121)
// 此端口会开放给地图服务器与游戏客户端建立连接
char_port: 6121
char_port: 16121

// 往控制台窗口中显示内容时, 在每行信息的前面加上时间戳.
// 最终组成的时间最大长度不能超过 20 个字符.
Expand Down
6 changes: 6 additions & 0 deletions conf/cross_server/base.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
//加载接入中立服务器的服务器配置

import: conf/cross_server/server-1.conf
//import: conf/cross_server/server-2.conf

//其他设定放在了conf/battle/crossserver.conf
16 changes: 16 additions & 0 deletions conf/cross_server/server-1.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
//����������������ķ���id,��id���뻥��
//���������ȷ��
server_id: 1

//���10���ַ�����,��Ϊ���ʱ���ֵ�ǰ׺,������2���ַ�����
//����������ʱ,��ҵ����ֽ����� {server_name}{����dzƵ�ǰ24-n�ij���}
server_name: [΢��A��]

//���뱻���ӵķ�������cs_userid,cs_passwd
userid: 123456
passwd: 654321

//��Ӧ�Ľ�ɫ��������ip,�˿�
// ע��: ip ���������, ��ô��ֹ����63���ַ�(����������)
char_server_ip: 127.0.0.1
char_server_port: 6121
16 changes: 16 additions & 0 deletions conf/cross_server/server-2.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
//����������������ķ���id,��id���뻥��
//���������ȷ��
server_id: 2

//���10���ַ�����,��Ϊ���ʱ���ֵ�ǰ׺,������2���ַ�����
//����������ʱ,��ҵ����ֽ����� {server_name}{����dzƵ�ǰ24-n�ij���}
server_name: [�¹�B��]

//���뱻���ӵķ�������cs_userid,cs_passwd
userid: 123456
passwd: 654321

//��Ӧ�Ľ�ɫ��������ip,�˿�
// ע��: ip ���������, ��ô��ֹ����63���ַ�(����������)
char_server_ip: 127.0.0.1
char_server_port: 6122
16 changes: 16 additions & 0 deletions conf/cross_server/server.conf.default
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
//连入此中立服务器的服务id,此id必须互斥
//请务必再三确认
server_id: <恰当的数字>

//最大10个字符长度,作为跨服时名字的前缀,中文算2个字符长度
//进入中立服时,玩家的名字将会变成 {server_name}{玩家昵称的前24-n的长度}
server_name: <待填写>

//输入被连接的服务器的cs_userid,cs_passwd
userid: <待填写>
passwd: <待填写>

//对应的角色服务器的ip,端口
// 注意: ip 如果是域名, 那么禁止超过63个字符(包括标点符号)
char_server_ip: 127.0.0.1
char_server_port: 6121
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added conf/cross_server/源架构简析.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
68 changes: 50 additions & 18 deletions conf/inter_athena.conf
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,38 @@
// 注释信息您可以随意修改, 不会干扰服务器的任何行为.
//--------------------------------------------------------------

//==============跨服设定==============
// 本服是中立服务器,是发起连接的一方
cross_server: on
// 本服不是中立服务器,但会被中立服务器连接时,需要设置以下独立的账号密码
cs_userid: 123456
cs_passwd: 654321

//是否允许继承并在这基础上更新源服的角色属性(包括职业,加点,等级,状态buff,Zeny等等)
//额外地,包括宠物,元素精灵,生命体,佣兵也随着这个选项决定生效
//no的情况下,首次跨服将会以初心者姿态出现在跨服后的地点
//注意: yes/no之间的切换使得[中立服的数据]被覆盖
//注意: no的情况下,于源服捕获的宠物蛋,无法在中立服孵化但会出现在列表上.
// 要解决此问题,建议在crossserver.conf中inherit_source_server_all_storage设置为no.
inherit_source_server_chara_status: no

//个人变量/账号变量继承(尚未实现,默认继承)
//inherit_source_server_chara_var: yes

//任务/成就(尚未实现,默认继承)
//inherit_source_server_chara_quest: yes
//inherit_source_server_chara_achi: yes


//是否允许继承源服的group_id
//no的情况下,在中立服的时的默认group_id为0,中立服不保存group_id
inherit_source_server_chara_group: yes
//no的情况下,下述多个group_id为例外,最多5行
inherit_source_server_chara_group_except: 5
inherit_source_server_chara_group_except: 99
//==============跨服设定==============


// 是否不主动返回服务器的 IP 地址给到客户端?
// 若您希望使用负载均衡或者反向代理等方式来提供服务,
// 且希望能更好的隐藏真实服务器 IP 地址, 那么请启用此选项.
Expand Down Expand Up @@ -66,9 +98,9 @@ default_codepage: auto
// 注意: login_server_ip 如果是域名, 那么禁止超过 63 个字符 (包括标点符号)
login_server_ip: 127.0.0.1
login_server_port: 3306
login_server_id: ragnarok
login_server_pw: ragnarok
login_server_db: ragnarok
login_server_id: root
login_server_pw: root
login_server_db: ragnarok_test_main
login_codepage:
login_case_sensitive: no

Expand All @@ -77,29 +109,29 @@ login_case_sensitive: no
// 注意: ipban_db_ip 如果是域名, 那么禁止超过 63 个字符 (包括标点符号)
ipban_db_ip: 127.0.0.1
ipban_db_port: 3306
ipban_db_id: ragnarok
ipban_db_pw: ragnarok
ipban_db_db: ragnarok
ipban_db_id: root
ipban_db_pw: root
ipban_db_db: ragnarok_test_main
ipban_codepage:

// 角色服务器专用
// MySQL 主数据库的连接配置信息
// 注意: char_server_ip 如果是域名, 那么禁止超过 63 个字符 (包括标点符号)
char_server_ip: 127.0.0.1
char_server_port: 3306
char_server_id: ragnarok
char_server_pw: ragnarok
char_server_db: ragnarok
char_server_id: root
char_server_pw: root
char_server_db: ragnarok_test_main
char_codepage:

// 地图服务器专用
// MySQL 主数据库的连接配置信息
// 注意: map_server_ip 如果是域名, 那么禁止超过 63 个字符 (包括标点符号)
map_server_ip: 127.0.0.1
map_server_port: 3306
map_server_id: ragnarok
map_server_pw: ragnarok
map_server_db: ragnarok
map_server_id: root
map_server_pw: root
map_server_db: ragnarok_test_main
map_codepage:

// WEB 接口服务器专用
Expand All @@ -110,19 +142,19 @@ map_codepage:
// 这样才能让 WEB 服务器可以访问持有这两个表的数据库.
web_server_ip: 127.0.0.1
web_server_port: 3306
web_server_id: ragnarok
web_server_pw: ragnarok
web_server_db: ragnarok
web_server_id: root
web_server_pw: root
web_server_db: ragnarok_test_web
web_codepage:

// 登录、地图服务器共用
// MySQL 日志数据库的连接配置信息
// 注意: log_db_ip 如果是域名, 那么禁止超过 63 个字符 (包括标点符号)
log_db_ip: 127.0.0.1
log_db_port: 3306
log_db_id: ragnarok
log_db_pw: ragnarok
log_db_db: ragnarok
log_db_id: root
log_db_pw: root
log_db_db: ragnarok_test_log
log_codepage:
log_login_db: loginlog

Expand Down
2 changes: 1 addition & 1 deletion conf/login_athena.conf
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@

// 登录服务器端口 (默认端口为: 6900)
// 此端口会开放给角色服务器与游戏客户端建立连接
login_port: 6900
login_port: 16900

// 往控制台窗口中显示内容时, 在每行信息的前面加上时间戳.
// 最终组成的时间最大长度不能超过 20 个字符.
Expand Down
4 changes: 2 additions & 2 deletions conf/map_athena.conf
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ passwd: p1

// 角色服务器端口
// 地图服务器会根据此处的配置和角色服务器建立连接
char_port: 6121
char_port: 16121

// 地图服务器的 IP 地址
// 当玩家通过角色服务器选择角色之后, 会将这里设置的 IP 地址发送给客户端.
Expand All @@ -44,7 +44,7 @@ char_port: 6121

// 地图服务器端口 (默认端口为: 5121)
// 此端口会开放给游戏客户端建立连接
map_port: 5121
map_port: 15121

// 往控制台窗口中显示内容时, 在每行信息的前面加上时间戳.
// 最终组成的时间最大长度不能超过 20 个字符.
Expand Down
3 changes: 2 additions & 1 deletion conf/maps_athena.conf
Original file line number Diff line number Diff line change
Expand Up @@ -211,7 +211,7 @@ map: prt_fild04
map: prt_fild05
map: prt_fild06
map: prt_fild07
map: prt_fild08
//map: prt_fild08
map: prt_fild09
map: prt_fild10
map: prt_fild11
Expand Down Expand Up @@ -1505,3 +1505,4 @@ map: 1@whl

//------------------------- Clone Maps ---------------------------
//------------------------- Extra Maps ---------------------------

Loading