插件定制细则
暂不接定制,只是写来做个总结。
这篇文章使用 CC BY 协议共享。
本文将讲解插件定制的有关细则。在本文中
你
是插件定制提出者,也可以说,是策划我
是插件开发者¥
代表中国的人民币符号
# 如何定价
在定价之前,我会要求你向我发送一份计划书,其中包含了你想实现什么样的功能等等信息。我在收到计划书并阅读后,给出粗略的报价,并修改其中不合理或无法实现的部分,改为平替方案,将计划书发回给你。在双方协商确认通过后,开始按照计划书进行开发。
通常来说,我的底价是 ¥50
,按插件复杂度酌情定价。工期按我个人情况而定,如果当时我的生活或者学习比较忙,工期可能会久一点。插件在完工后的180天
内包漏洞修复,有新的功能需求再另外加价。所有定制插件的源代码将会存档到我的电脑、移动硬盘,以及 Github 私有仓库。如果你需要源代码,则需要额外的 ¥100
获得仓库的访问权限。
# 原则
我只接能力以内的单,即 Bukkit 衍生插件开发。对于超出我的能力范围的内容,比如与客户端Mod联动(龙之核心、萌芽引擎等等)、互通服(使用 Geyser 等软件使得基岩版可进入服务器)、数据包相关、世界生成器相关等等,一律不接。
我不能以任何理由公开发布这个定制插件。你不仅不能以你自己的名义公开发布这个定制插件,同时,我不会授权任何定制插件的转载行为。在公共网络中,这个插件只能由你使用。
简单来说,定制插件不能公开,你私下怎么传递我不管你
另外我要特别说明,你的定制插件有可能会出现在我本人的服务器里。如果你不希望我这么做,请在计划书中特别说明。
为方便进行安全检查,插件不会进行混淆,也不会使用闭源的依赖库。所有使用的依赖库都会打包到 top.mrxiaom.*.libs
包里面。除非你购买了插件的源代码,仅定制插件是闭源的。
除非特别要求,定制插件都会使用开源框架 PluginBase (opens new window),并且基于你的服务端核心进行开发。比如你的服务端核心是 Paper,我就不会将 adventure 打包到插件中,而是仅仅添加依赖库引用。
# 如何编写计划书
我至少需要这些最基础的信息
- 托管类型(
面板服
|VPS
|物理机
) - 系统类型(精准到发行版和大版本,比如
Windows Server 2022
、Ubuntu 24.04
) - Java 版本(例如
Java 17
) - 服务端类型,服务端版本(例如
Purpur 1.20.4
) - 群组类型(
单端
|BungeeCord
|Velocity
) - 你要实现的功能大概需要依赖哪些插件,或者要与哪些插件做联动
还有一些信息,你可以不提供,如果你没有提供,我会看情况取值
- 插件名称(例如
ExamplePlugin
) - 插件根命令(例如
/example
)
接下来,请尽可能详尽地描述你要实现的功能,建议使用 Word 文档编写,并且做好分点和格式。即使你提交给我一个 txt,只要格式合理,适合阅读,我照样收。
如果你在一开始就提交了很详细的计划书,那么后面只需要对几次内容,做点小修改,确认下报价,就可以开始制作。
你在编写计划书时稍微辛苦一点。可以节省我们两个人的时间,也可以减少扯皮,更可以尽可能地避免插件做好后与需求不符的情况。
在编写计划书时,你需要考虑,这份计划书是给人看的,而不是一种形式。之后我要按这份计划书来开发插件,最起码的要求是
- 可读性良好(不要糊成一团)
- 字体合适(最起码能看得舒服,最好用下面提到的字体方案)
- 合理地将功能分成多个点
在理想情况下,最好要
- 有突出显示重点内容的格式(比如加粗)
- 有大致演示图,不管是游戏内截图或者简单画几下
- 标题使用
宋体 二号
、正文使用仿宋 四号
、小标题使用黑体 四号
等等
计划书里的所有用语必须要确定,不能用“大概”等不确定用语。我可以跟你讲大概,编程语言不能跟你讲大概。
并且你必须要确保你在向我提交计划书时,已经把你需要的所有功能都写到计划书里了。后续你想添加功能,得加钱。
当然,规则是死的,人是活的,做一点不是很大的小修改是可以接受的。
# 我会如何修改计划书
所谓编程,就是将自然语言转换成计算机语言的过程。我会按你的计划书内容,在脑中粗略检索一遍是否有相应的接口能实现相关功能。
如果能实现,我就进一步考虑应该怎么去实现这个功能,比如编写示例配置文件、记录一下想法等等。
如果不能实现,我会思考一下能不能用类似的功能来做平替,并和你协商解决方案。
# 交付
在插件完成编写和测试后,我会向你发送一条插件演示视频和收款码。
在确认收到转账后,我会发你插件本体、测试时的配置,以及使用文档。
文档以 Markdown 和 渲染的 PDF 两种形式发送。
使用文档通常只有命令、权限、变量等简单的内容,由于我写配置有写得很详尽的习惯,配置基本不需要文档来额外说明。