Skip to content

DeterMination-Wind/DeterMination-Script

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DeterMination 脚本补丁包说明

本目录用于分发 DeterMination 系列脚本,已将 DeterMination + WayZer 兼容改动一起打包为一个可直接下发的 zip。

1. 当前打包内容

  • scripts/DeterMination/module.kts
  • scripts/DeterMination/anonymous/veilId.kts
  • scripts/DeterMination/voteMiner.kts
  • scripts/DeterMination/hiddenMessage.kts
  • scripts/DeterMination/banChangeTeam.kts
  • scripts/DeterMination/griefRollbackVote.kts
  • scripts/DeterMination/stopActWhenVoteing.kts
  • scripts/DeterMination/stopVoteing.kts
  • scripts/DeterMination/anonymous/default.txt
  • scripts/metadata/DeterMination.metadata
  • scripts/wayzer/user/nameExt.kts
  • scripts/wayzer/user/shortID.kts
  • scripts/wayzer/user/suffix.kts
  • scripts/wayzer/reGrief/history.kts
  • scripts/wayzer/vote.kts
  • scripts/wayzer/vote.lib.kt
  • scripts/wayzer/cmds/vote.kts
  • scripts/wayzer/cmds/voteKick.kts
  • scripts/wayzer/cmds/voteMap.kts
  • scripts/wayzer/cmds/voteOb.kts
  • scripts/metadata/wayzer.metadata

对应压缩包:

  • anonymous/DeterMination-modules.zip

压缩包内结构已按 config/scripts 目录组织,可直接解压到服务器脚本根目录。 压缩包只包含脚本源码与元数据,不包含 scripts/dataconfig.conf、缓存等本地运行时文件,避免覆盖服务器现有配置与历史数据。

2. 兼容说明

wayzer/user/nameExt.ktswayzer/user/shortID.kts 用于 VeilID 的可撤销名字/shortID 覆盖层。
如你的服务器同名脚本已有二次修改,请手动合并后再覆盖。

wayzer/reGrief/history.kts 已加入匿名兼容修复:

  • 在线玩家:显示当前公开名与当前 shortID(受匿名覆盖)
  • 离线玩家:显示“离线玩家(uid片段)”而不回显管理员档案原名

wayzer/user/suffix.kts 已加入匿名联动:

  • 匿名开启时隐藏 X 端标识
  • 匿名开启时隐藏电脑端标识
  • 匿名开启时隐藏管理员/VIP后缀

DeterMination/griefRollbackVote.kts 已加入回滚残留修复(2026-03-01):

  • 回滚时按多格建筑占地范围执行清理与加锁
  • 修复 air(建造中) 残留导致后续长期不可拆的问题

3. 部署步骤

  1. 备份服务器 config/scripts
  2. DeterMination-modules.zip 解压到 config/scripts(覆盖同名文件)。
  3. 控制台执行:
    • sa scan
    • sa load wayzer/vote --noCache
    • sa load wayzer/cmds/vote --noCache
    • sa load wayzer/cmds/voteOb --noCache
    • sa load DeterMination --noCache
    • sa load DeterMination/griefRollbackVote --noCache
    • sa load DeterMination/anonymous/veilId --noCache
    • sa load DeterMination/banChangeTeam --noCache
    • sa load DeterMination/voteMiner --noCache

4. 当前命令与权限节点

4.1 VeilID(匿名)相关

  • /vote anonymous(别名:/vote 匿名
    • 作用:发起“全员重新启用匿名”投票
    • 通过条件:至少 2 人赞成;若仅 1 名可投票玩家则直接通过
    • 权限:determination.vote.anonymous
    • 默认权限组:@default
  • /vote unanonymous(别名:/vote deanon/vote reveal
    • 作用:发起“全员解除匿名”投票
    • 权限:determination.vote.unanonymous
    • 默认权限组:@admin
  • /anonymous(别名:/匿名
    • 作用:管理员强制“全员重新启用匿名”
    • 权限:determination.admin.anonymous
    • 默认权限组:@admin
  • /unanonymous
    • 作用:管理员强制“全员解除匿名”
    • 权限:determination.admin.unanonymous
    • 默认权限组:@admin
  • /veilhistory(别名:/vh/匿名历史/匿历
    • 作用:弹窗查看历史对局的队伍与“匿名->真名/shortID”映射(一局一页,可翻页)
    • 权限:determination.admin.veilhistory
    • 默认权限组:@admin

4.2 reGrief 历史查询

  • /history(别名:/历史
    • 作用:开关点格子查历史模式;/history core 查看核心附近危险建造记录
    • 权限:wayzer.ext.history
    • 默认权限组:@default
    • 匿名兼容:仅显示公开身份(在线显示当前公开名/shortID,离线不回显管理员档案原名)

4.3 voteMiner

  • /vote miner <unit> <amount> <team>
    • 权限:determination.vote.miner
    • 默认权限组:@default
    • 行为:在目标队伍核心附近随机生成单位(默认 MinerAI,投票需 100% 通过)

5. 权限组使用说明(示例)

默认分配(本补丁相关):

  • @defaultdetermination.vote.anonymousdetermination.vote.minerwayzer.ext.history
  • @admindetermination.admin.anonymousdetermination.admin.unanonymousdetermination.admin.veilhistorydetermination.vote.unanonymous
  • @vipsuffix.vip(后缀系统原有)

常用授权命令:

  • 给管理员组增加“匿名历史”权限:sa permission @admin add determination.admin.veilhistory
  • 给管理员组移除“强制解除匿名”权限:sa permission @admin remove determination.admin.unanonymous
  • 给普通组开启“投票解除匿名”(默认仅admin有):sa permission @default add determination.vote.unanonymous
  • 给普通组关闭“投票恢复匿名”:sa permission @default remove determination.vote.anonymous
  • 给某个玩家(uuid 组)单独开启“投票解除匿名”:sa permission <玩家uuid> add determination.vote.unanonymous

6. VeilID 配置(可选)

配置节点(config/scripts/data/config.conf):

DeterMination.anonymous.veilId {
  enabled = true
  namesFile = "C:\\Users\\华硕\\Documents\\default.txt"
  voteUnanonymous = true
  announceOnRoundStart = false
}

名字库文件要求:

  • UTF-8 文本
  • 每行一个名字
  • 忽略空行与 # 开头注释

7. banChangeTeam 配置(权限)

新增权限节点:

  • determination.banChangeTeam.tabSelfSwitch:管理员是否可在 TAB 菜单改自己的队伍
  • determination.banChangeTeam.useTeamCommand:管理员是否可使用 /team

默认策略:

  • @admin 默认无以上两个权限(脚本内默认负权限)

常用命令示例:

  • 给全体管理员开放 TAB 自改队:sa permission @admin add determination.banChangeTeam.tabSelfSwitch
  • 给全体管理员开放 /teamsa permission @admin add determination.banChangeTeam.useTeamCommand
  • 给某个玩家(uuid 组)开放:sa permission <玩家uuid> add determination.banChangeTeam.useTeamCommand

8. AltAccountGuard(同IP小号治理)

8.1 新增/变更文件

  • scripts/DeterMination/altAccountGuard.kts
  • scripts/wayzer/vote.lib.kt(用于“完全禁投”,阻止受限账号参与进行中的投票)
  • scripts/metadata/DeterMination.metadata(新增 DeterMination/altAccountGuard

8.2 命令

  • /alts [page/filter] [page]
  • 别名:/smallalts/小号

显示格式:

  • 大号名+ShortID:
  • - 小号名+ShortID

8.3 判定与限制规则

  • 基于 IP 重合识别账号关联
  • 每个关联组内,timesJoined 最大者视为大号
  • timesJoined < 100 的账号标记为小号
  • 自动剥夺小号投票权(命令 + 投票动作)
  • 可配置是否强制观战

8.4 权限节点

  • determination.altguard.list:查看 /alts
    • 默认组:@admin
  • determination.altguard.bypass:小号限制豁免
    • 默认组:AltGuardBypass(不自动赋给 @admin

示例:

  • sa permission <玩家uuid> add determination.altguard.bypass
  • sa permission <玩家uuid> add @AltGuardBypass

8.5 配置

config/scripts/data/config.conf

DeterMination.altAccountGuard {
  smallAccountJoinThreshold = 100
  forceObserverForSmallAccount = false
  mapsLikePageSize = 8
  listOnlyWithAlts = true
  bypassPermission = "determination.altguard.bypass"
  blockVotePermissionPrefix = "wayzer.vote."
}

8.6 加载

sa scan
sa load DeterMination/altAccountGuard --noCache

About

其中的Wayzer模块修改自TinyLake的ScriptAgent4MindustryExt-8.0

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages