【1.20+】🌍 WarZRealms —— 个人实例家园世界系统|可扩展 · 可跨服 · 可商业化 · 高性能实例化家园解决方案

服务端插件 【1.20+】🌍 WarZRealms —— 个人实例家园世界系统|可扩展 · 可跨服 · 可商业化 · 高性能实例化家园解决方案【付费】 1.7.1

请登录后获取
Crazy_Jky 发布了更新:

1.6.1

  • 增加可编辑的默认模板:[default.yml]
  • 首次进入没有专属 NPC 文件的家园时,会自动复制模板为 npcs/<realm_world>.yml。
  • 默认向导使用 location: "spawn",跟随家园出生点。
  • Citizens 已加入 softdepend,避免加载顺序导致 NPC 被禁用。
  • /realm admin reload 会重新加载 NPC 设置,并刷新在线家园的临时 NPC。

>> 阅读更新详情 <<
 
Crazy_Jky 发布了更新:

1.6.2

本次更新重点​

1. 修复重置家园后模板丢失​

此前使用模板地图创建的家园,执行 /realm reset 后不会沿用原模板,而是随机生成一个新世界。
原因是重置流程在创建新世界时把模板名固定传成了空值,且家园数据里根本没有记录创建时使用的模板。
本版本已调整为:
  • 家园数据新增模板名字段,创建家园时记录所用模板
  • 重置世界时重新复制同一份模板,地形与创建时一致
  • 模板内 template.yml 配置过出生点时,重置后沿用该出生点
  • 模板未配置出生点时,重新寻找安全出生点,避免旧坐标悬空或埋入地下
  • YAML 旧数据缺少模板字段、MySQL 旧表缺少 template_name 列时,重置退化为随机世界,与旧版行为一致
...

>> 阅读更新详情 <<
 
Crazy_Jky 发布了更新:

1.6.3

  • 插件版本升级到 v1.6.3,配置版本保持 11(本次无新增配置项)
  • 模板菜单改为按槽位记录真实模板文件夹名,不再通过物品显示名反推
  • 修复因 gui.templates.icon_name 带前后缀导致模板名识别错误的问题
  • 模板目录不存在时输出 severe 日志,不再静默失败
  • 新增模板相关排查日志:创建/重置时打印实际使用的模板名
  • 玩家下线时清理模板菜单的槽位映射,避免内存泄漏

>> 阅读更新详情 <<
 
Crazy_Jky 发布了更新:

1.6.4

[MD] ## 解决了什么问题 玩家跑到自己家园的边界处执行 `/realm setspawn`,边界就会以他脚下为中心整体平移。于是可以: 1. 在边界内造好机器、刷怪塔 2. 走到边界设传送点,边界整体挪走 3. 已造好的机器落到新边界之外,新覆盖的区域又能再建一批 4. 反复操作,白嫖出远超付费半径的面积,绕过 `/realm upgrade` 扩地 ## 具体更新 **1. 修复 `spawn-center-border: false` 把边界钉死在世界原点 `0,0`** 这个开关本来就是用来关掉"边界跟随传送点"的,但它的关闭分支一直把边界中心硬编码成 `0,0`。而随机世界家园的初始出生点通常是 `findSafeSpawnLocation` 从原点向外找到的安全点,往往离原点几百格——边界罩在原点、玩家出生在几百格外,结果一进家园就卡在界外。很多服主因此误以为这个开关坏了,只能继续用会平移边界的默认配置。 改为锁定**家园的初始中心**,即创建/重置时写入世界 spawn 的那个点(模板家园=模板出生点,随机世界=创建时的安全点,下界按...[/MD]

>> 阅读更新详情 <<
 
Crazy_Jky 发布了更新:

1.6.5

[MD] # WarZRealms v1.6.5 更新内容总结 ## 一句话总结 管理员(OP)现在可以直接在玩家家园里开箱子、放方块了,不用再让玩家把自己加为成员;同时提供 `warzrealms.admin.bypass` 权限节点和开关,方便按服务器情况调整。 ## 解决了什么问题 管理员进入玩家家园后打不开箱子、放不了也拆不了方块,无法巡查和处理违规建筑。 原因是家园权限判定 `canInteract` 只认两种身份——家园主和成员,其余一律拒绝,判定里**既没有 OP 判断也没有权限节点分支**。而插件的 `plugin.yml` 里连 `permissions` 段都没有,不定义任何权限节点,所以 OP 身份在家园里等同于普通路人,权限完全失效。 另外 `getPermission` 默认是 `false`,成员默认零权限,所以连"把管理员加成成员"的老办法也还得家园主手动开权限开关才生效。 ## 具体更新 在 `canInteract`...[/MD]

>> 阅读更新详情 <<
 
Crazy_Jky 发布了更新:

1.6.6

## 具体更新
- 时间切换改为显式状态机;"锁定"取**家园世界**当前时间,且自动避开 1000/13000 哨兵值,保证任何情况下都能切回"默认"
- 新增 `resolveLiveData`:设置/权限/边界/成员/黑名单/重置菜单和简介回调统一先取缓存活对象再改
- `DataManager` 缓存回填全部改 `putIfAbsent`,异步加载不再顶替活对象;`getRealm(Async)` 返回缓存规范对象
- 点击改用 `getRawSlot()`,只响应顶部菜单内点击,背包误触不再触发切换
## 对服主/玩家的价值
- 时间锁定功能按设计可用:默认=时间自然流逝,锁定=冻结当前时刻
- 曾被锁死的家园切回"默认"后时间恢复流动,植物正常生长
- 打开家园列表不再搞坏别人正开着的设置界面
## 升级注意事项
- `config-version` 无变更(仍为 `13`),无数据库结构变更,YAML/MySQL 均无需改动
- 旧存档的 `time_lock` 数值语义一致,无需迁移
- 建议提醒玩家:之前被锁死的家园重新切一遍到"默认"即可恢复时间流逝

>> 阅读更新详情 <<
 
Crazy_Jky 发布了更新:

1.6.8

[MD] # WarZRealms v1.6.8 更新内容总结 ## 一句话总结 修复家园边界升级后"重启回弹"的根因(游离数据对象把旧半径写回世界边界 + 存储读取失败时用初始半径覆盖真实数据);新增家园生物保护、家园世界默认死亡不掉落;成员数显示改为含主人。 ## 解决了什么问题 - **边界回弹**:玩家升级边界后,重启几次服务器边界悄悄缩回升级前大小 - **生物无保护**:访客进别人家园可以随意击杀动物、村民、宠物 - **死亡掉落**:生成的家园世界按默认规则死亡掉落 - **成员数歧义**:家园列表 `成员: 1/5` 不含主人,实际有主人+成员两人 ## 根因 1. **边界回弹**: - 家园列表页缓存的 `RealmData` 是 `loadAllRealms` 的游离快照,点旧页传送时 `updateWorldBorder` 用旧半径重设世界边界,`WorldBorder` 随 `level.dat` 持久化 → 缩小的边界固定下来 - `loadRealm`/`loadRealms`...[/MD]

>> 阅读更新详情 <<
 
Crazy_Jky 发布了更新:

1.6.9

[MD] # WarZRealms v1.6.9 更新说明 ## 版本信息 - 插件版本:`v1.6.9` - 配置版本:`15`(新增 `unload.*` 五个配置项,自动补齐,旧配置自动备份) - 适用服务端:Paper / Spigot 1.20.1 - 数据库结构:无变更,无需改表 ## 本次更新重点 1. **修复家园世界卸载卡死全服**:玩家退出家园后主线程同步 `unloadWorld`,大世界一次卸载卡 15~40 秒。 2. **新增 `unload.*` 卸载策略**:延迟卸载 + 分批节流 + 可保留常驻家园。 3. **顺带修复**:通过传送(非退出)离开的家园世界此前永不卸载,会一直常驻到重启。 ## 问题:退出家园把全服卡死 ### 现象 - 玩家退出家园/下线后,主线程被卡 15~40 秒,全服无响应,TPS 从 20 掉到个位数 - Watchdog 每次打印主线程转储,停在 `RegionFile.close → FileChannelImpl.force0(Native)`——磁盘 fsync - 世界越大(region...[/MD]

>> 阅读更新详情 <<
 
Crazy_Jky 发布了更新:

1.7.0

[MD] # WarZRealms v1.7.0 更新内容总结 ## 一句话总结 修复多服共用 MySQL 时家园数据被非家园服陈旧缓存整行覆盖的根因:非家园服数据层改为只读不写;写库改为"未落库对象只允许 INSERT IGNORE、已加载对象走纯 UPDATE";last_login 单列更新;写库成功后广播缓存失效。 ## 解决了什么问题 - **半径升级反复回弹**:玩家升级边界后,登录非家园服的瞬间 radius 被整行 UPSERT 写回旧值(连同 spawn、简介、has_spawn 一起清掉),binlog 里 100↔105 无限横跳 - **陈旧缓存引擎**:非家园服缓存对象一旦进入永不刷新(putIfAbsent + 失效广播只在删除时发),每次登录/关服都是一次陈旧数据整行写回 ## 根因 非家园服 `realmCache` 中的 `RealmData` 长期不刷新;`updateLastLogin`/`saveAll`/`addRealmAsync` 全部走 `INSERT ... ON DUPLICATE KEY UPDATE`...[/MD]

>> 阅读更新详情 <<
 
Crazy_Jky 发布了更新:

1.7.1

[MD] # WarZRealms v1.7.1 更新内容总结 ## 一句话总结 修复 Purpur 1.21.11 等新版服务端上家园"生物生成"开关的假开启问题:切换开关时同时写 gamerule 与 Bukkit 层生成标志(`setSpawnFlags`),并由周期任务每 5 秒强制对齐,杜绝规则值与内部生成标志脱钩。 ## 解决了什么问题 - 空岛模板家园默认可刷怪;玩家关闭"生物生成"再开启后,菜单显示开启、世界实际仍不刷怪 - 故障现场:困难难度、个人怪物 0/56、370 个可刷怪区块、怪物 0/71;`spawn_mobs`/`spawn_monsters`/`mob_spawning` 全为 true;手动重跑 `gamerule spawn_monsters true` 后恢复 ## 根因 插件只写 `doMobSpawning` gamerule,从未写 Bukkit 层 `allowMonsters`/`allowAnimals` 标志。 新版服务端的部分分类刷怪 gamerule(如...[/MD]

>> 阅读更新详情 <<
 

在线会员

  • Rogercew
  • bast_l
  • Fungus
  • Dream_snow_wish
  • qinghua
后退
顶部 底部