跳转至

进阶手册

OlivaDice 进阶手册

For Oliva.1.2.12

世界是属于每一个人的。要创造一个充满逻辑并尊重每一个人的世界。
——《Новый Элемент Расселения》A.D.1960 Москва

DIXE(OLIVADICE)

欢迎使用由仑质(BenzenPenxil)所发布的青果掷骰核心 OlivaDice!,在使用本核心前,你应当已经是一个能够处理较为复杂问题的骰主,并且已经充分阅读了OlivaDice 骰主手册,如果没有,请先阅读那份文档,本文档将不会对那份文档中所提到的各类特性进行说明,日后会考虑单独编写文档,这要取决于实际情况。

青果掷骰核心 OlivaDice!是由仑质(BenzenPenxil)开发的,具有多种功能的新一代掷骰核心,作为整套工具链的一部分,该项目的代码仓库与分支地址为lunzhiPenxil/Dice - Oliva。 该核心会引入一些由用户提出的由本人开发的功能,如果你不清楚这些功能设计的意图与初衷,或者觉得存在价值观冲突,请确保你能够以合理的方式清晰有条理地使用现代汉语(简体中文 - 北京)提出意见,否则请认为 “这个垃圾核心实在是太难用了!我还是不要用的好”

如果你对本页面内容都没有价值观性质的疑问的话,欢迎加入仑质的青果用户群讨论本分支版本相关内容。
- [青果铺] 772730969
- [青果批发车间] 828786809 官方骰娘小青果酱的用户群

想要获取最新当前最新版本,请在此处下载:
- Oliva Dice! 这个途径获得的编译可能会不安全或版本落后 - Oliva Dice! for Mirai 整合包 暂无更多

或者你可以使用备用链接:
- Oliva Dice! - 青果云 密码:LOVEOLIVA

本核心扩充功能如下:

优化过的黑名单相关机制

1.2.2:漏洞修复
1.2.4:云黑名单漏洞修复

Dicelist相关调整

使用了一个基于Github Pages的静态页面API,地址为:http://benzenpenxil.xyz/Oliva-DiceList/ 并且设置了相关配置项用于调整Dicelist的拉取,默认关闭。

上传云记录相关调整

上古分支的Dice! 核心在某版本引入了对于黑名单的云记录,然而出于安全性原因,CloudBlackShare项的默认值被我设置为0即默认关闭,且在设置完成时将会发送strConfSetToUnsafe的警告。

调整配置项

  • CloudBlackShare 缺省默认:0(原本为1) 该项将会决定是否进行云记录的上传与验证。 详见本小节上传云记录相关调整上传云记录相关调整部分。

额外配置项

  • DisabledListenWarning 缺省默认:0 该项为非0时将会屏蔽Warning响应流程,这个设计主要用于暂时避免吃Warning后由于框架问题导致的大规模无差别退群问题。
  • BelieveOlivaDicelist 缺省默认:0 控制是否拉取http://benzenpenxil.xyz/Oliva-DiceList/的Dicelist。 当为0时,不拉取。 当为1时,拉取并装载。 完全更改Dicelist需要进行应用的重载。
  • BelieveThirdDicelist 缺省默认:0 控制是否拉取来自第三方的Dicelist。 当为0时,不拉取。 当为1时,拉取并装载。 该部分暂未完成。

额外自定义回复

  • strConfSetToUnsafe 缺省默认:已经切换至存在缺陷的功能!请确保知晓这个操作可能导致的后果!

Helpdoc模糊匹配

1.1.3:模糊匹配.help最终稳定

  • 指令:.help [所查条目]

对Helpdoc功能进行了加强,在没有对应条目时将进行模糊匹配搜索,搜索与排序算法基于最长子字符串最小编辑距离两个算法的组合。

额外自定义回复

  • strHlpNotFound 缺省默认:{strHelpNotFound}
  • strHlpRecommend 缺省默认:已为您找到以下近似条目:

额外配置项

  • HelpMode 缺省默认:1 Help指令模式控制项。 当为0时,关闭模糊匹配。 当为1时,开启模糊匹配,匹配推荐算法为仑质所改进后设计的最长子串与最短编辑距离组合算法。 当为2时,开启模糊匹配,匹配推荐算法采用上古版本。

扩充版今日人品Jrrp

1.2.1:本地Jrrp
1.2.3:重写Jrrp牌堆

  • 指令:.jrrp

对jrrp进行了较大扩充,较为复杂。

额外关键词

  • {dashes} 该关键词在使用指令时将被替换为一个缓冲条,用于展示jrrp的数值大小
  • 所有牌堆引用方式{xxx}或加% 该关键词在使用指令时将被替换为对应牌堆的抽取结果。

额外配置项

  • LocalJrrp 缺省默认:1 本地Jrrp控制项。 当为0时,关闭本地Jrrp,使用其它分支版本同样的由溯洄提供的在线Jrrp生成服务器结果。 当为1时,开启本地Jrrp,本地生成的Jrrp采用散列哈希算法。 当为2时,开启本地Jrrp,本地生成的Jrrp采用散列哈希算法,并使用本机QQ号对算法进行加盐,从而使得结果因骰娘账号变化而不同。
  • LocalJrrpMin 缺省默认:1 本地Jrrp最小值控制项。 LocalJrrp为0时无效。 该值将会使得本地Jrrp结果的最小值为其所设置的大小。
  • LocalJrrpRange 缺省默认:100 LocalJrrp为0时无效。 该值将会使得本地Jrrp结果范围宽度为其所设置的大小。 结合LocalJrrpMin项可以将本地Jrrp出值控制为:[LocalJrrpMin][LocalJrrpMin]+[LocalJrrpRange]-1
  • JrrpDashesRange 缺省默认:25 本地Jrrp{dashes}关键词长度控制项。 该值将会使得本地Jrrp结果{dashes}关键词宽度为其所设置的大小。

暗检定

1.2.0:多种特殊检定

  • 指令:.rah [技能]

可以进行暗检定,查看结果需要使用.ob指令进入旁观模式,骰娘将会私聊发送结果。

额外自定义回复

  • strHiddenCheck 缺省默认:{pc}进行{attr}暗检定

对抗检定

1.2.0:多种特殊检定

  • 指令:.rav [技能] [@对方]

可以直接进行对抗检定。

魔都模组

1.2.6:CNMODS魔都模组查询

  • 指令:.cnmods roll

抽取一个魔都模组。

  • 指令:.cnmods luck ([页码])

查看魔都推荐。

  • 指令:.cnmods search [名称] ([页码])

在线查找模组。

  • 指令:.cnmods get [编号]

获取对应模组。

额外配置项

  • CnmodsMode 缺省默认:1 魔都模组功能控制项。 当为0时,关闭魔都模组功能。 当为1时,开启魔都模组功能,以分享卡片的形式发送结果。 当为2时,开启魔都模组功能,以文本的形式发送结果。

改进后的Reply功能

1.2.7:正则匹配自定义Reply

正则Reply

简单来说,没有新增任何指令,只是追加改进了.reply指令所设置的回复词的输入匹配逻辑输出返回逻辑
当你将ReplyMode设置为2时,这个功能将不会有任何效果,reply依然如旧。
当你决定使用这个功能时,只需要确保ReplyMode设置为3将原先.reply指令中的被匹配条替换为正则表达式即可。
- 例如: 使用指令:.reply (.+)调用牌堆(.+) $1牌堆调用结果:{$2} 输入:仑质调用牌堆麻将牌 输出:仑质牌堆调用结果:五筒 请留意空格。

额外配置项

  • ReplyMode 缺省默认:3 Reply模式控制项。 当为1时,同时使用完全匹配与正则匹配,且完全匹配流程优先级更高。 当为2时,只使用完全匹配。 当为3时,只使用正则匹配。 当为其它时,不匹配任何Reply项。

请尽量避免滥用该功能,仑质不对该功能的任何滥用后果负责。
在此基础上,请尽情发挥想象力。

计划

将会在本功能实现一个基础脚本语言,语法要设计成什么类型暂时还未敲定,欢迎交流。

自定义心跳标准

1.2.8:自定义心跳标准

简介

在上古分支中,设置心跳上报与否的配置项不存在,相关逻辑为强制启用,且所有的上报服务器路径、端口、内容都是直接硬编码写死在相关代码中的,不存在鉴权,对于一个使用AGPL协议的开源项目而言,这是非常愚蠢的,上古版本中相关代码如下图。

上古分支中心跳上报的线程函数

标准

当前所采用的方式是POSTapplication/x-www-form-urlencoded表单方式,Dice!将会每隔300秒执行一次上报。
上报目标服务器的地址端口,还有鉴权所需的token都可以通过相关方法进行设置。
Dice!仅负责定期上报至指定服务器,如何监测这个上报结果需要使用者自行解决。
可供参考的处理方案有仑质的骰娘列表页面,如果需要有将自己的骰娘添加到该页面请先使用青果TOKEN获取一个新的token,再加入青果核心群与仑质协商相关事宜。

POST表单的上报参数具体如下:

参数键值 上报值 备注
token 身份校验Token strConfigPulseToken所设置的值
user_id 本机QQ号
time_ts 当前服务器时间戳
version 本机Dice插件版本
name 本机昵称
masterid Master的QQ号
interval 确认存活容忍时间(秒) 当前固定为530
isGlobalon 是否全局启动 DisabledGlobal相反
isPublic 是否公开 Private相反
isVisible 是否愿意可见 CloudVisible相同

额外配置项

  • PulseMode 缺省默认:0
    该项将会决定如何进行心跳的上传与验证。
    本配置项采用二进制开关设计,类似linux中的chmod指令。
    当0x001为真时,选择对上古的心跳服务器进行上报。
    当0x010为真时,选择对自定义的心跳服务器进行上报,默认为指向仑质的心跳服务器,但除非设置了有效的Token,否则不会上报
    如果你不懂这种看起来奇怪设置方式,没关系,我会为你在下方列出全部的配置情况:
配置值 自定义心跳上报 上古私人心跳
0 × ×
1 ×
2 ×
3

额外自定义字段

该部分与设定自定义回复的方式相同。

  • strConfigPulseHost 缺省默认:api.dice.center
  • strConfigPulseXpath 缺省默认:/dicestatusup/
  • strConfigPulsePort 缺省默认:80
  • strConfigPulseToken 缺省默认:NULL

DX3规则掷骰

1.2.9:新增dx掷骰指令 1.2.9:掷骰渲染

  • 指令:dx(x) [骰子个数](a/c)[加骰参数]

.dxx会直接给出结果而.dx会给出每个骰子的点数
固定10面骰,每有一个骰子点数达到加骰参数,则加骰一次,最后计算额外加骰轮数的十倍与最后一轮最大值之和
具体用法请参考相关游戏规则
同理,当你在.r的掷骰表达式中使用XcY格式的指令时,可以进行这种掷骰。

自定义更新源

1.2.10:自定义更新源

  • 指令:.cloud update (list/分支名)

该功能会以一种可以自定义的方式完成更新源的获取与更新
该种结构的好处是,更新不再强依赖版本,对不同大更新版本的理论兼容性会更强。

简繁转换

1.2.12:简繁转换

该功能致力于将输入输出文本进行简繁互换。

额外配置项

  • CnLocalMode 缺省默认:1
    将部分输入进行简繁互换。
    当为0时,不进行转换。
    当为1时,繁体转简体。
    当为2时,简体转繁体。

  • CnOutputMode 缺省默认:0
    将全部输出进行简繁互换。
    当为0时,不进行转换。
    当为1时,繁体转简体。
    当为2时,简体转繁体。

名词解释

因为我不可能将一本词典搬移到此处,也无意进行海外发行,所以此处使用现代汉语(简体中文 - 北京),本部分专门用于解释部分名词,以防万一。

Dice!V2

Dice!V2是一个基于QQ传输协议的,借助各种封装过的机器人平台,以C++编写,并以附加动态链接库(DLL)的方式运行的,提供骰值服务、跑团相关服务与骰值机器人管理功能的项目。

对于具备开发能力的用户或开发者,该项目的源代码基于AGPL-3.0开源协议在Github进行开源。

对于不具备开发能力的用户,通常使用其编译后的二进制文件,或是在对应平台经过二次封装后的文件。

跑团

尽管对这个会有多种定义,但总得来说在该项目所属社区内,不会超出其作为一个TRPG(Table Roll Play Game)子集的范畴,所以作为一种G(Game),它当然是一种娱乐,除非你对娱乐有其它特别定义(比如当用这个词特指除跑团以外的娱乐内容时,需注意这个情形通常被一部分社区成员默认,所以建议双方不要浪费精力在无意义的定义纠结上)。

服务器

服务器是计算机的一种,它比普通计算机运行更快、负载更高、价格更贵。服务器在网络中为其它客户机(如PC机、智能手机、ATM等终端甚至是火车系统等大型设备)提供计算或者应用服务。服务器具有高速的CPU运算能力、长时间的可靠运行、强大的I/O外部数据吞吐能力以及更好的扩展性。根据服务器所提供的服务,一般来说服务器都具备承担响应服务请求、承担服务、保障服务的能力。服务器作为电子设备,其内部的结构十分的复杂,但与普通的计算机内部结构相差不大,如:CPU、硬盘、内存,系统、系统总线等。

必要的服务器

指Dice!V2作为一个普通的机器人平台扩充功能DLL运行的情形下,QQ传输协议所实现的传输服务器对象与该平台所依赖的服务器。

必要

必要,非这样不行;不可缺少的。

稳固的服务器

指可以稳定服务超过10年以上的企业级服务器。

稳固

稳固,稳恒固定,出自郁达夫《出奔》。

企业级

用来形容某物达到了像企业一样的专业级别、高水准。

企业

企业一般是指以盈利为目的,运用各种生产要素(土地、劳动力、资本、技术和企业家才能等),向市场提供商品或服务,实行自主经营、自负盈亏、独立核算的法人或其他社会经济组织。

他者服务器

非当前Dice!V2插件的用户个人所运营的服务器。

他者

他者,是西方后殖民理论中常见的一个术语,在后殖民的理论中,西方人往往被称为主体性的“自我”,殖民地的人民则被称为“殖民地的他者”,或直接称为“他者”。“他者”(the other)和“自我”(Self)是一对相对的概念,西方人将“自我”以外的非西方的世界视为“他者”,将两者截然对立起来。所以,“他者”的概念实际上潜含着西方中心的意识形态。宽泛地说,他者就是一个与主体既有区别又有联系的参照。通过选择和确立他者在一定程度上可以更好地确定和认识自我,但其中隐含的自我中心主义有着严重的缺陷或弊端,一个主体若没有他者的对比对照将完全不能认识和确定自我。在后殖民主义研究的一系列概念和范畴中的一个最具特色并作为中心范畴的是“本土”(native)与“他者”(the other)以及这二者之间的关系问题。本土和他者是相对的,它会随着参照物的不同而改变。

刚愎自用

刚愎自用,汉语成语,意思是十分固执自信,不考虑别人的意见。出自《左传·宣公十二年》。