跳转到指南

文档 9.6.24

命令

Tosun AC 中的所有命令、按键绑定和游戏内管理工具:谁可以使用、准确语法、作用以及结果显示位置。大多数结果输出到服务器控制台,而不是游戏内聊天。

开始之前#

Tosun AC 添加了一个主命令 /ts 及其众多子命令。此外还有独立的管理命令、仅限控制台的维护命令,以及几个用于管理菜单的客户端命令。每组命令都有各自的权限检查和各自的结果显示位置,因此请先阅读本节。

  • 大多数 /ts 子命令和所有 ts_* 管理命令都把结果写入服务器控制台。游戏内的管理员在聊天中看不到任何内容,只有 /ts 帮助卡片和无权限卡片例外。
  • 玩家工具(mute、sethp、giveweapon 等)和 ac* 命令在游戏内使用时会在聊天中回复。
  • 许多回复是硬编码的土耳其语。无权限卡片始终显示 'Bu komutu kullanmak için yetkiniz yok!'。
  • /freeze 或 /mute 等独立命令不是 /ts 子命令。/ts freeze 5 只会在控制台输出 'Unknown command'。
  • revive、warn、players、freeze、mute、broadcast、setweather、settime、giveweapon、capture 和 emergency 等裸名称可能与其他资源的命令冲突。不确定时请使用 ts_ 形式。
  • 如果禁用了管理菜单(ts.AdminMenu.enable 或 ts.AdminMenu.enabled = false),客户端命令 tsmenu、unspectate、stopspectate、tsdelaimed 和 tsfreecam、DELETE 绑定以及 F7 键都根本不会注册。

权限等级#

每个命令都会检查下面的某个等级。服务器控制台可以通过所有服务器端检查,但两个仅限游戏内的传送命令除外。客户端命令不能从控制台运行。本页所有表格都使用这些等级名称。

  • tosun.admin(STAFF 和 MENU)与 tosunac.admin(维护命令)是不同的 ACE。完整管理员应两者都授予。
  • 授予 builtin.everyone 的 ACE 永远不计为 STAFF 或 MENU。
  • group.admin 等组名是作为 ACE 对象检测的。请显式授予 tosun.admin 之类的 ACE,不要只依赖组成员身份。
等级谁拥有用于
STAFF拥有以下任一 ACE 的玩家:command.ts、command.ban、command.kick、tosun.admin、ts.admin、txadmin、tx.admin、txadmin.menu、txadmin.advanced、command.txadmin、ts.AdminBypassAces 中的条目,或 ACE 对象 group.admin、group.superadmin、group.moderator、group.god。ts.txAdminAuth 开启时(默认开启),command.resources 和 command.restart 也算在内。除 menu 外的所有 /ts 子命令、所有管理命令、玩家工具和 ac* 命令。
STAFF(其他来源)Admins、ts.AdminMenu.allowedIds 或 ts.AdminBypassIdentifiers 中的标识符;有效的面板管理员授权;addAdmin export。与 STAFF 相同。数据库返回的“非管理员”结果会缓存 30 秒,因此新的面板授权最多可能需要这么久才生效。
MENU管理菜单已启用,且玩家拥有以下之一:command.ts、command.ban、command.kick、tosun.admin 或 ts.admin;group.admin、superadmin、moderator 或 god;Admins 条目;ts.AdminMenu.allowedIds 条目;面板授权;addAdmin export。打开管理菜单和使用菜单工具。仅限 txAdmin 的 ACE 和 ts.AdminBypassIdentifiers 给予 STAFF,但不给予 MENU。
控制台服务器控制台。跳过所有检查。标为仅限控制台的命令在游戏内输入时不起作用。
tosunac.admin被授予此 ACE 的玩家。在游戏内运行 tosunac_setup、tosunac_backdoorscan 和 tosunac_eventscan 时需要;/banscreentest 也接受它。它不给予 STAFF 或 MENU。
tosunac.banscreen.test被授予此 ACE 的玩家。允许在游戏内使用 /banscreentest。
command.<name>被授予 FiveM 命令 ACE 的玩家。对于受限命令,FiveM 会先检查它。可在游戏内运行的受限命令有 ts_v9_help、ts_setlang、tosunac_setup、tosunac_backdoorscan 和 tosunac_eventscan。AC 检查在其之后进行。
任何人所有玩家。只有 /acping 完全不做检查。/ts、/tsmenu、/tsdelaimed 和 /tsfreecam 任何人都能输入,但执行前会检查权限。/unspectate 和 /stopspectate 只在观战时才起作用。

在 server.cfg 中授予权限#

下面第一段是常见安装模板中的 ACE 部分。它给予 group.admin 主体管理人员、菜单、维护和封禁界面测试权限,然后把一名玩家加入该组。将 <HEX> 替换为该玩家的 license。最后两行可选,不在模板中;只有当管理人员需要在游戏内运行 ts_setlang 或 ts_v9_help 时才添加。

也可以不用 ACE 授予权限。admins/anticheat_admins.lua(Admins)或 ts.AdminMenu.allowedIds 中的标识符给予 STAFF 和 MENU。ts.AdminBypassIdentifiers 中的标识符只给予 STAFF。网页面板中的管理员授权给予 STAFF 和 MENU。

ts.AdminMenu.allowedIds 中的 'all' 和 'staff' 值不是标识符,不授予任何权限。

add_ace group.admin tosun.admin allow
add_ace group.admin tosunac.admin allow
add_ace group.admin command.tosunac_setup allow
add_ace group.admin command.tosunac_backdoorscan allow
add_ace group.admin command.tosunac_eventscan allow
add_ace group.admin tosunac.banscreen.test allow
add_principal identifier.license:<HEX> group.admin

# 可选,不在模板中:两个受限的辅助命令
add_ace group.admin command.ts_setlang allow
add_ace group.admin command.ts_v9_help allow

结果显示位置#

命令在游戏内看似没有反应时,请查看服务器控制台。

命令组游戏内执行者看到的内容服务器控制台显示
/ts 子命令什么都看不到,只有 /ts 帮助卡片和无权限卡片例外。/ts 和 /ts menu 会打开菜单。每个子命令的结果行。
ts_* 管理命令及其裸名称什么都看不到。目标可能会收到一条聊天消息或通知。结果行,大多为土耳其语。被拒绝的 ts_<name> 输出 '[ts_<name>] Yetersiz yetki.';被拒绝的裸名称不输出任何内容。
玩家工具(mute、unmute、sethp、setarmor、giveweapon、stripweapons、massfreeze、emergency、capture、clearinv、speedlimit)一条聊天回复,大多为土耳其语。拒绝时没有任何提示。从控制台运行时显示 '[AC] ...'。
acwarn、acfreeze、acunfreeze、acstats、acping一条聊天回复。acwarn 输出一条日志行;acstats 和 acping 从控制台运行时输出 '[AC] ...';acfreeze 和 acunfreeze 不输出任何内容。
维护命令(tosunac_*、ac_cleanup、ts_setlang、ts_v9_help)什么都看不到。全部输出,即使是有权限的玩家在游戏内启动命令也一样。
banscreentest目标屏幕上的封禁界面预览。输入错误时显示用法行。
客户端命令(tsmenu、tsdelaimed、tsfreecam、unspectate、stopspectate)菜单、一条通知或自由视角。无。

/ts 命令#

/ts 是一个服务器命令。其后的第一个词用于选择子命令,不区分大小写。在服务器控制台中输入同一行时去掉斜杠,例如 ts banlist。

  • 在游戏内,/ts 或 /ts menu 会打开或关闭管理菜单,需要 MENU。在控制台中它会输出帮助列表。
  • 其他所有子命令在游戏内都需要 STAFF。没有该权限时会显示无权限卡片,且不会执行任何操作。
  • 未知子命令只会在服务器控制台输出 'Unknown command. Type ts help. For extra commands: ts_v9_help'。
  • 别名:evtlist = faketriggerlist = evtliste;evtwhitelist = faketriggeroff = evtoff;evttrap = faketriggeron = evton;evtscan = faketriggerscan = evtara;sigpatterns = sigexc_help;quarantine = karantina;release = serbest;quarantines = karantinalar;在 sigexc 和 sigskip 下,del = remove。
  • 控制台帮助列表(ts help)并不完整。它没有列出 quarantine、release、quarantines、各个别名以及 ts whitelist 的可选秒数。游戏内的 /ts 帮助卡片只列出 /ts、ban、kick、unban 和 help。本页提供完整列表。
/ts ban 12 aimbot          (in game)
ts banlist 2               (server console)

/ts:菜单、帮助和状态#

通用子命令。除非表格另有说明,输出都在服务器控制台。

语法谁作用输出
/ts or /ts menuMENU打开管理菜单,如果已打开则关闭。没有 MENU 时显示无权限卡片,且不记录日志。游戏内为菜单;控制台为帮助列表
/ts helpSTAFF游戏内:一张列出 /ts、ban、kick、unban 和 help 的聊天卡片。控制台:不完整的命令列表。聊天卡片或控制台
/ts statusSTAFF显示在线玩家数、封锁(lockdown)状态及原因。[STATUS] Online: N | Lockdown: ON/OFF (reason)
/ts find <name part>STAFF列出名称包含该文本的在线玩家。不区分大小写。[FIND] #id name 行
/ts reloadSTAFF不要使用。它会用原始配置文件替换整个服务器端 ts 表。运行时函数和面板设置会丢失,直到重启;之后游戏内 /ts 会报错,菜单也无法打开。客户端仍保留旧配置。请改为重启 tosun-ac。[RELOAD] Config yenilendi.

/ts:封禁和踢出#

手动封禁与检测使用相同的惩罚流程。输出在服务器控制台。

  • 封禁 ID 形如 XXXX-XXXX;当 ts.banIDFormat = 2 时形如 #NNNN。
  • ts.punishType 也控制手动封禁。如果设为 LOG 或 KICK,/ts ban 只会记录日志或踢出。
  • 除非开启 ts.Debug,否则管理人员(ts.AdminBypassDetections 开启时)、白名单和面板白名单中的目标会被静默跳过。[BAN] 行仍会输出。
语法谁作用输出
/ts ban <playerId> [reason]STAFF封禁一名在线玩家。默认原因 'Admin Ban'。使用 ts.punishType(默认 BAN)和 BanDurations.default(默认 0 = 永久)。真正的封禁会写入封禁记录、发送 Detections 和 Bans webhook,并通知网页面板。在游戏内执行时还会向 Webhooks.Commands 发送 Admin Ban webhook。[BAN] <name> (<id>) banned: <reason>
/ts kick <playerId> [reason]STAFF以目标玩家的语言显示 Tosun AC 踢出消息,并踢出该在线玩家。不能以管理人员为目标。不填原因时原因为空。在游戏内执行时还会发送 Admin Kick webhook。[KICK] <name> (<id>) kicked: <reason>
/ts unban <banID>STAFF删除该封禁,向 Webhooks.AdminMenuLogs 发送 Ban Removed webhook,并触发解封事件。即使 ID 不存在也会输出成功行。[UNBAN] <banID> unbanned.
/ts baninfo <banID>STAFF显示一条封禁的 ID、玩家、原因、Steam 和 license。封禁信息行或 'not found'
/ts banlist [page]STAFF每页列出 10 条封禁(ID、名称、原因)。顺序按随机封禁 ID 排列,而不是按日期。标题为土耳其语。[BANLIST] Sayfa N:
/ts bancountSTAFF统计所有封禁记录。[BANCOUNT] N ban records total.
/ts offlineban <oldServerId> [reason]STAFF使用玩家离开前的服务器 ID,永久封禁自上次 AC 启动以来已离开的玩家。封禁的是断开连接时记录的标识符:license、Steam、Discord、FiveM、IP 和 HWID 令牌。不做管理人员检查,不触发封禁事件,也不发送 webhook。资源重启后这些记录会丢失。[OFFLINEBAN] <name> banned offline: <reason>

/ts:白名单、豁免和隔离#

用这些命令暂时停止对某玩家的惩罚,或隔离嫌疑人而不是封禁。白名单和豁免条目保存在内存中,以服务器 ID 为键,玩家断开连接时失效。

  • 隔离时间默认 300 秒,并被限制在 30 秒到 ts.quarantine.maxSeconds(默认 1800)之间。默认原因为 'admin karantinasi'。
  • 隔离会拒绝免于惩罚的玩家:管理人员、白名单、面板白名单或临时豁免的玩家。
  • ts.quarantine.enabled = false 时不会加载隔离模块,命令会输出失败行。
  • 已处于隔离中的玩家仍会产生成功行。
语法谁作用输出
/ts whitelist <playerId> [seconds]STAFF跳过对该玩家的惩罚;检测仍会运行。不填秒数时持续到断开连接;0 立即过期。不校验 ID。[WHITELIST] <name> (<id>) whitelist'e eklendi.
/ts unwhitelist <playerId>STAFF移除白名单条目。[WHITELIST] <name> (<id>) removed from whitelist.
/ts tempwhitelist <playerId> [seconds]STAFF与 whitelist 相同,但有固定时长:默认 300 秒,最少 1 秒。[WHITELIST] <name> (<id>) whitelisted for Ns.
/ts exempt <playerId> [seconds] [reason]STAFF暂停客户端检测和惩罚 1 到 300 秒(默认 60,原因 admin_exempt)。它会覆盖已有的白名单条目,因此会把永久的 /ts whitelist 缩短为这个时长。[EXEMPT] name (id) — N sn tespit muafiyeti.
/ts quarantine <playerId> [seconds] [reason]STAFF把玩家移到私有 routing bucket(默认 9001-9500),实体被锁定,人口生成关闭。记录一条 QUARANTINE 检测,并用土耳其语通知玩家,除非 ts.quarantine.notifyPlayer = false。时间到后自动释放。[KARANTINA] ... izole edildi,或 Basarisiz
/ts release <playerId>STAFF提前结束隔离,并恢复原来的 routing bucket。[KARANTINA] <id> serbest birakildi.
/ts quarantinesSTAFF列出被隔离的玩家及其 ID、名称、原因和剩余秒数。带土耳其语表头的列表

/ts:清除实体#

这些子命令会一次性删除整个服务器上的实体,没有确认步骤。输出在服务器控制台。

语法谁作用输出
/ts clearvehiclesSTAFF删除所有车辆,包括有人乘坐的和玩家拥有的车辆。[CLEAR] N vehicles deleted.
/ts clearpedsSTAFF删除所有非玩家 ped(NPC)。[CLEAR] N NPCs deleted.
/ts clearobjectsSTAFF删除所有物体,包括联网的脚本道具和地图道具。[CLEAR] N objects deleted.
/ts clearallSTAFF一次删除车辆、NPC 和物体。[CLEAR] V vehicles, P NPCs, O objects deleted.

/ts:蜜罐事件#

蜜罐是正常脚本永远不应触发的虚假触发事件,因此触发它的玩家可以被封禁。当前列表保存在 ac_protected_events 表中。输出在服务器控制台。

语法谁作用输出
/ts evtlistSTAFF列出当前启用的蜜罐事件及其类型,并给出数量。别名:faketriggerlist、evtliste。事件列表
/ts evtwhitelist <eventName>STAFF禁用一个蜜罐(active = 0)并重新加载列表。当正常脚本使用了该事件名、导致玩家被误封时使用。即使没有匹配的行也会输出成功行。别名:faketriggeroff、evtoff。确认信息,以及对已注册的处理器需 ensure AC 资源(tosun-ac)的提示
/ts evttrap <eventName> client|serverSTAFF添加指定类型的蜜罐或重新启用它,并重新加载列表。别名:faketriggeron、evton。确认信息和 ensure AC 资源的提示,或用法行
/ts evtscanSTAFF只读。扫描每个已启动资源的 manifest 中列出的 .lua 文件以查找事件名,报告被正常脚本使用的蜜罐,并为每个蜜罐给出建议的 ts evtwhitelist 行。通配条目(*)和 .js 文件会被跳过。别名:faketriggerscan、evtara。冲突列表,或 'no conflict'

/ts:特征码扫描器例外#

当特征码扫描器标记了正常脚本时使用这些命令。特征码显示在 [Signature Scanner] 日志行中。例外和跳过项保存在数据库中。输出在服务器控制台。

/ts sigexc 或 /ts sigskip 后面没有有效的第二个词时,会输出用法提示。

语法谁作用输出
/ts sigexc add <resource> <signature_code> [file/path.lua]STAFF在 ac_signature_exceptions 中保存一条例外。不指定文件时覆盖该资源的所有文件。[SIGEXC] Kaydedildi: res / code,或 Kaydedilemedi
/ts sigexc listSTAFF显示最新的 80 条例外:id、资源、文件(或所有文件)和特征码。例外列表
/ts sigexc del <id>STAFF删除 sigexc list 中对应 id 的例外。别名:remove。已删除行或失败行
/ts sigexc reloadSTAFF清空例外缓存。下次扫描时会重新从数据库读取。缓存重置行
/ts sigpatternsSTAFF输出部分内置特征码示例,例如 lua_loadstring、debug_sethook 和 trigger_internal。别名:sigexc_help。特征码列表
/ts sigskip add <resource>STAFF让特征码扫描器跳过 escrow 或加密资源(保存在 ac_signature_escrow_skip 中)。已添加行或失败行
/ts sigskip listSTAFF显示最多 80 个被跳过的资源及其 id。跳过列表
/ts sigskip del <id|resource>STAFF按行 id 或资源名移除跳过项。别名:remove。已移除行或失败行
ts sigexc add my-job lua_loadstring client/main.lua
ts sigskip add my-escrow-pack

管理命令(ts_ 形式和裸名称)#

这 17 个命令不是 /ts 子命令。每个命令都有 ts_<name> 和裸名称 <name> 两种形式,例如 /ts_freeze 7 或 /freeze 7。两种形式在游戏内都需要 STAFF,控制台也可以运行。所有结果都输出到服务器控制台。

  • 被拒绝的 ts_<name> 会在控制台输出 '[ts_<name>] Yetersiz yetki.'。被拒绝的裸名称不做任何事。
  • 裸名称会在去掉分号、双引号和换行后,把 ts_<name> 作为服务器命令重新执行。这个嵌套命令很可能以控制台身份运行。因此 /tphere 和 /tpto 会失败,/adminsync 需要 ID,/kickall 也会踢出你,/warn 会把执行者记录为控制台。这些命令请使用 ts_ 形式,并在游戏内确认一次。
  • ts_v9_help 把这些命令列为 'ts freeze <id>' 等形式。该语法无效;请输入 ts_freeze 或 freeze。
语法谁作用控制台输出
/ts_freeze <id> | /freeze <id>控制台或 STAFF冻结玩家并发送聊天通知。AC 自身的反冻结检查会在约 10 秒内为非管理员玩家解冻,而目标最多可保持无敌 60 秒。[freeze] <name> donduruldu.
/ts_unfreeze <id> | /unfreeze <id>控制台或 STAFF解冻玩家并移除无敌状态。[unfreeze] <name> serbest.
/ts_slay <id> | /slay <id>控制台或 STAFF将玩家生命值设为 0。[slay] <name> öldürüldü.
/ts_revive <id> | /revive <id>控制台或 STAFF触发第一个匹配的急救复活事件(wasabi、qb、esx、cd、ars 等),如果玩家仍处于死亡状态则将其复活,并恢复生命值和护甲。/revive 经常与急救脚本冲突。[revive] <name> canlandırıldı.
/ts_healall | /healall控制台或 STAFF治疗所有玩家(满生命值,护甲 100),并在聊天中用土耳其语公告。[healall] N oyuncu iyileştirildi.
/ts_warn <id> [reason] | /warn <id> [reason]控制台或 STAFF向玩家的聊天发送警告,并保存到 ac_player_warnings。默认原因 'No reason specified'。[warn] <name> → "reason"
/ts_warnings <id> | /warnings <id>控制台或 STAFF按 license 列出一名在线玩家的最近 10 条警告,包括 /acwarn 发出的警告。警告列表
/ts_broadcast <message> | /broadcast <message>控制台或 STAFF以 '📢 SUNUCU DUYURUSU' 为标题向所有玩家发送消息。[broadcast] Tüm oyunculara: msg
/ts_players | /players控制台或 STAFF列出在线玩家的 ID、名称和 ping,被这些命令冻结的玩家会带有标记。玩家列表
/ts_lockdown on|off [reason] | /lockdown ...控制台或 STAFFon、enable 或 1 会以 '🔒 LOCKDOWN: <reason>' 拒绝所有新连接,包括管理人员(默认原因 'Bakım')。off、disable 或 0 结束封锁。不带参数时显示当前状态。已在线的玩家不受影响。重启后重置。[lockdown] AKTİF / KAPALI,或当前状态
/ts_tphere <id>STAFF,仅限游戏内把玩家传送到你身边,并给予其 15 秒传送豁免。裸名称 /tphere 会失败。[tphere] <name> yanına çekildi.
/ts_tpto <id>STAFF,仅限游戏内把你传送到该玩家处,并给你 15 秒传送豁免。裸名称 /tpto 会失败。[tpto] <name> konumuna gidildi.
/ts_setweather [TYPE] | /setweather [TYPE]控制台或 STAFF在所有客户端设置天气(默认 CLEAR,5 秒过渡)。仅在客户端生效,因此天气同步脚本可能会覆盖它。[weather] TYPE
/ts_settime [hour] [minute] | /settime ...控制台或 STAFF在所有客户端设置时间(默认 12:00)。仅在客户端生效。请使用整数:小数会导致 Lua 错误。[time] HH:MM
/ts_kickall [reason] | /kickall [reason]控制台或 STAFF踢出除执行者外的所有玩家,包括管理人员。默认原因 'Yetkili: kick all'。通过裸名称执行时,你自己很可能也会被踢出。[kickall] N oyuncu atıldı.
/ts_modping | /modping控制台或 STAFF更新网页面板 AC 状态指示器所依据的时间戳。即使数据库写入失败也会输出该行。确认行(土耳其语)
/ts_adminsync [id] | /adminsync <id>控制台或 STAFF当某位管理人员的客户端没有识别出其管理人员身份时,重新发送管理人员状态和管理人员豁免。ts_adminsync 不带 ID 时以你自己为目标。[adminsync] <name> için admin bypass yenilendi.

玩家工具(mute、sethp、giveweapon ...)#

这 11 个命令有 ts_<name> 和 <name> 两种形式,两种形式都会把你识别为执行者,因此裸名称可以在游戏内使用。它们需要 STAFF;控制台也可以运行。拒绝时没有任何提示。回复发送到你的聊天,或以 '[AC] ...' 输出到控制台。回复大多为土耳其语。

语法谁作用回复
/mute <id> [seconds] [reason] (also /ts_mute)控制台或 STAFF在指定时间内屏蔽该玩家的聊天(默认 300 秒;0 或更小 = 永久)。只会屏蔽经过服务器 chatMessage 事件的聊天。禁言与服务器 ID 绑定,因此重新连接即可解除。不填秒数时,原因的第一个词会丢失。<name> susturuldu (Ns).
/unmute <id> (also /ts_unmute)控制台或 STAFF解除禁言并通知玩家。对任何数字 ID 都会报告成功。Susma kaldırıldı.
/sethp <id> <0-200> (also /ts_sethp)控制台或 STAFF设置玩家生命值。0 会杀死玩家。<name> HP N olarak ayarlandı.
/setarmor <id> <0-100> (also /ts_setarmor)控制台或 STAFF设置玩家护甲。<name> zırh N olarak ayarlandı.
/giveweapon <id> <WEAPON_NAME> [ammo] (also /ts_giveweapon)控制台或 STAFF依次通过 ox_inventory、qb/qbox、ESX 发放武器(默认 60 发弹药),都不可用时使用原生函数。第一个没有报错的方式即视为成功,即使实际上什么都没给。无论如何都会输出回复。<name> -> WEAPON (xN)
/stripweapons <id> (also /ts_stripweapons)控制台或 STAFF移除 ped 身上的所有武器。背包物品保留。不在线的 ID 会导致 Lua 错误。<name> silahları alındı.
/massfreeze [on|off] (also /ts_massfreeze)控制台或 STAFF冻结(默认 on)或解冻所有玩家,包括管理人员,并进行公告。非管理员很快会被反冻结检查解冻;管理人员会保持冻结,直到执行 off 或经过 60 秒。N oyuncu işlendi.
/emergency [reason] (also /ts_emergency)控制台或 STAFF开启封锁,并以 'EMERGENCY: <reason>' 踢出所有非管理人员玩家。默认原因 'Acil bakım'。用 /ts_lockdown off 结束封锁。Acil durum: N oyuncu kicklendi, lockdown aktif.
/capture <id> (also /ts_capture)控制台或 STAFF如果已启动 screenshot-basic,则要求该玩家的客户端把截图上传到 ts_screen_upload convar 中的 URL(默认 http://localhost/api/screen_upload.php)。AC 不保存结果;图片只存在于上传目标处。Ekran görüntüsü istendi.
/clearinv <id> (also /ts_clearinv)控制台或 STAFF通过 ox_inventory 清空背包。没有 ox_inventory 时不会清空任何东西,但玩家仍会看到“已清空”通知。不在线的 ID 会导致 Lua 错误。<name> envanteri temizlendi.
/speedlimit [kmh] (also /ts_speedlimit)控制台或 STAFF为当前在线的玩家限制车速(0 = 取消)。之后加入的玩家不受限制,取消限制也不会恢复已被限速的车辆。Sunucu hız limiti: N km/h,或 Hız limiti kaldırıldı.

快捷命令(acwarn、acfreeze、acstats ...)#

五个在聊天中回复的简短命令。除 /acping 外都需要 STAFF 或控制台,拒绝时没有任何提示。

语法谁作用回复
/acwarn <id> <reason>控制台或 STAFF在 ac_player_warnings 中保存一条警告,发送到该玩家的聊天,并向你确认。原因必填。用法错误只在游戏内显示。发给你的聊天消息;控制台行 '[AC] admin -> name WARN: reason'
/acfreeze <id>控制台或 STAFF冻结玩家。回复中说是 60 秒,但 AC 的反冻结检查可能在约 10 秒内释放非管理员。发给你的聊天消息,仅限游戏内
/acunfreeze <id>控制台或 STAFF解冻玩家。发给你的聊天消息,仅限游戏内
/acstats控制台或 STAFF显示 'Detections: N | Online: N' 和一个保护状态标志。检测数从 AC 启动时开始计算。聊天,或控制台中的 '[AC] ...'
/acping任何人回复 AC 版本和在线人数。任何玩家都能运行。聊天,或控制台中的 '[AC] AC up — v<version>'

维护和诊断命令#

请从服务器控制台运行这些命令。其中少数在拥有所示 ACE 时也可以在游戏内运行。除 banscreentest 外,输出始终在服务器控制台。

tosunac_setup、tosunac_backdoorscan、tosunac_eventscan 和 banscreentest 被拒绝时没有任何提示。tosunac_setup 运行期间再次执行会被拒绝。

受限命令同时需要 FiveM 命令 ACE 和 AC 检查。例如,只有 tosunac.admin 的玩家不能运行 tosunac_setup。

语法谁作用输出
tosunac_setup控制台,或游戏内拥有 ACE command.tosunac_setup 加 tosunac.admin一次性安装基线:检测框架,运行后门扫描和完整特征码扫描,只把干净且未改动的资源批准进 Resource Guard 基线,然后对事件进行编目但不信任它们。如果某项扫描不可用或未完成,会中止且不批准任何资源。[Kurulum] 行,以及 Framework / approved / skipped 摘要
tosunac_doctor仅限控制台对已生效配置(面板同步后)的只读风险报告,例如开启了 Debug、有风险的 BAN 设置和永久默认封禁。启动 90 秒后也会自动运行一次,存在风险时写入一条数据库日志。文本为土耳其语。风险列表,或一行“无风险设置”
tosunac_backdoorscan控制台,或游戏内拥有 ACE command.tosunac_backdoorscan 加 tosunac.admin深度扫描所有资源,查找后门、RCE、提权和数据外泄模式。结果发送到面板。ts.BackdoorGuard.autoQuarantine = true 时,存在严重发现的资源会被停止。Backdoor Guard 禁用时不注册。开始行,然后是 Scan done 摘要
tosunac_eventscan控制台,或游戏内拥有 ACE command.tosunac_eventscan 加 tosunac.admin静态扫描所有资源中的事件名,并发送到面板的 Trigger List。只有 ts.EventScanner.autoProtect = true(默认 false)时事件才会被保护。事件扫描器禁用时不注册。如果已有扫描在运行,则不输出任何内容。开始行,然后是 Trigger scan done
tosunac_db_status仅限控制台显示 DB 桥接状态:是否启用、license 已配置或缺失、oxmysql 状态、框架、请求状态以及最后一次面板状态。[Tosun DB Bridge] 行
tosunac_db_check仅限控制台通过 oxmysql 运行 SELECT 1。它不检查 license、面板开关或框架表。通过行或失败行
ac_cleanup仅限控制台立即运行数据库清理:旧日志、检测记录、审计记录、队列、IP 信誉、登录尝试和过期会话(保留期来自 ts.v12.keep*)。输出的数量在删除完成前计算,经常为 0。ts.v12.enableAutoCleanup = false 时不注册。[v12 cleanup] Manual run tamam: ...
tosunac_integration仅限控制台面向脚本开发者:显示是否强制执行 export 白名单、受信任资源及其各自来源、已挂钩的豁免事件数量,以及最近被拒绝的 export 调用。控制台文本
ts_setlang <playerId> <lang>控制台,或游戏内拥有 ACE command.ts_setlang 加 STAFF为一名玩家设置 AC 语言(ar、de、en、es、fr、pt、ru、tr、zh)并同步到其客户端。只校验语言;不在线的 ID 也会报告 OK。Player N language set to xx
ts_v9_help控制台,或游戏内拥有 ACE command.ts_v9_help输出管理命令列表,但使用的是错误的 'ts freeze' 语法。它没有列出玩家工具、ac* 命令和 ts_setlang。控制台方框
banscreentest <playerId> | /banscreentest控制台需带 ID;游戏内需 ACE tosunac.banscreen.test 或 tosunac.admin在目标屏幕上(游戏内则在你自己的屏幕上)显示已配置封禁界面的预览(封禁 ID TEST-0000,原因 Preview)。不会踢出、隔离或记录任何人。它不检查封禁界面是否已启用。目标屏幕上的封禁界面;输入错误时显示用法行

安全地运行 tosunac_setup#

tosunac_setup 会信任当前已安装的内容。只在你确定干净的服务器上运行它。

  1. 启动服务器时只加载你信任的资源。
  2. 确认 Backdoor Guard 已启用。如果它被禁用,setup 会中止且不批准任何内容。
  3. 在服务器控制台输入 tosunac_setup。后门扫描最多可能需要 120 秒。
  4. 阅读摘要。每个被跳过的资源都会按名称记录;请在网页面板中逐一检查。
  5. 运行 tosunac_doctor,检查已生效设置中的误封和安全风险。

测试和预览#

这些命令让你在不惩罚任何人的情况下检查 AC。

  • 封禁界面:游戏内 /banscreentest 在你自己的屏幕上显示;控制台中 banscreentest <id> 在该玩家屏幕上显示。封禁界面设置来自网页面板。
  • 有风险的设置:tosunac_doctor。
  • 数据库:tosunac_db_check 检查本地 SQL 连接,tosunac_db_status 检查 DB 桥接和面板状态。
  • 你自己脚本的 export 信任:tosunac_integration。
  • AC 是否在运行:/acping(任何人)或 /acstats(管理人员)。/ts status 还会显示封锁状态。

打开管理菜单#

用 /ts、/ts menu、/tsmenu 或 F7 打开游戏内管理菜单。同一命令或按键可关闭菜单。每次打开菜单时服务器都会检查 MENU。

  • /tsmenu 任何人都能输入;由服务器决定是否允许。每名玩家每 1.5 秒最多发出一次请求。
  • 被拒绝的 /tsmenu 或 F7 请求会缓存 10 秒并被记录:一条数据库日志、一条管理人员事件记录和一条控制台警告。
  • 只有 ts.NuiNeverBanUnauthorized = false(默认 true)时,玩家才会因被拒绝的请求受到惩罚,此时适用 ts.punishType。
  • 被拒绝的 /ts 会显示无权限卡片,不记录日志。
  • 拥有 STAFF 但没有 MENU 的管理人员(例如只有 txAdmin ACE)可以按 F7,但每次请求都会被拒绝并记录。
  • ts.AdminMenu 的开关 allowFreecam、allowDelete 和 allowEsp 只在客户端执行。

游戏内管理工具#

自由视角、瞄准删除、noclip 和观战只对管理人员有效。自由视角和 noclip 还需要菜单会话:自加入服务器以来,菜单必须至少成功打开过一次。

如果你在自由视角或观战期间被移除了菜单权限,退出该模式时会发送一条菜单日志,服务器会将其视为未授权操作。这可能导致一次惩罚尝试。

工具如何启动要求作用
/tsdelaimed(DELETE 键)瞄准车辆、ped 或物体,按 DELETE 或输入 /tsdelaimed。STAFF 客户端,且 ts.AdminMenu.allowDelete 不为 false。联网实体还需要服务器端的 MENU;本地实体不需要。删除从摄像机发出的 60 米射线命中的非玩家实体。即使服务器拒绝,也会显示 'Aimed entity deleted.' 通知。
/tsfreecam输入 /tsfreecam。再次输入或按 Backspace 退出。STAFF 客户端,ts.AdminMenu.allowFreecam 不为 false,且有菜单会话。切换自由视角并关闭菜单。在你第一次打开菜单之前,它只会启用一个隐藏开关,自由视角会在你打开菜单的那一刻启动。它不会关闭 noclip。
Noclip仅限管理菜单。没有 noclip 命令或按键。菜单会话(MENU)。以第一人称无碰撞飞行,处于无敌状态。除非 ts.AdminMenu.noclipInvisible = false,否则其他人看不到你。
观战管理菜单,例如在玩家视图中按 w 键。菜单会话(MENU)。观看一名玩家,并显示 'SPECTATE MODU' HUD。用 /unspectate、/stopspectate、Backspace 或 control 56 退出。不在观战时这两个命令不起作用。

按键绑定和默认按键#

Tosun AC 注册了一个可重新绑定的按键(DELETE)。菜单键是在配置中设置的固定 control ID。其他按键只在某个工具内部有效。

  • F7 每 50 毫秒检查一次,而按键状态只持续一帧,因此可能漏掉一次按键。菜单没打开时请再按一次。
  • F7 的 control ID 只在客户端脚本启动时读取一次。面板中的更改要等玩家重新连接后才生效。
按键在哪里操作如何更改
F7(control 168)游戏内,仅在管理人员客户端上轮询打开或关闭管理菜单。将 ts.AdminMenu.openKeyControl 设为其他 FiveM control ID。玩家需要重新连接才能生效。玩家无法在 GTA 设置中重新绑定它。
DELETE游戏内,菜单启用时为每名玩家注册;只对管理人员生效运行 /tsdelaimed。每名玩家自行设置:GTA V 设置 > 按键绑定 > FiveM,条目 'Tosun: Delete aimed entity'。
Backspace、Esc 或鼠标右键(control 177)观战或自由视角中结束观战或自由视角。固定。
Control 56(INPUT_DROP_WEAPON,默认 F9)观战或自由视角中结束观战或自由视角。固定。代码注释称其为 F8;请在游戏内确认。
INSERT(control 121)所有玩家,包括管理人员被默认的 ts.BlacklistKeys 禁用。编辑 ts.BlacklistKeys 或面板列表。
ts.AdminMenu.openKeyControl = 166 -- F5

自由视角操作#

自由视角开启时,其他所有操作都被禁用。你瞄准的实体(最远 120 米)会被标记并显示标签,游戏会加载摄像机周围的区域。HUD 文本为土耳其语,显示的是每帧移动距离,而不是 m/s。

按键操作
鼠标环顾四周
W、A、S、D(controls 32-35)移动
空格(22)上升
左 Ctrl(36)下降
滚轮(241 / 242)基础速度增减 3(范围 2-120,初始 25)
左 Shift(21)速度 x4
左 Alt(19)速度 x0.25
鼠标左键(24)如果 ts.AdminMenu.allowDelete 不为 false,删除被标记的实体;记录为 Freecam Delete
Backspace(177)或 control 56退出自由视角

Noclip 操作#

在管理菜单中开关 noclip。开启时,攻击、瞄准、武器选择、近战和 X(control 73)都被禁用。由于文本模板不匹配,HUD 会把速度显示为 'N m/sx speed'。

按键操作
W、A、S、D(controls 32-35)移动
空格(22)上升
左 Ctrl(36)下降
滚轮(241 / 242)基础速度增减 2 m/s(范围 1-60,初始 12)
左 Shift(21)速度 x3.5
左 Alt(19)速度 x0.25

管理菜单键盘快捷键#

这些按键在管理菜单打开时有效。在输入框中打字、查看器打开,或按住 Ctrl、Alt 或 Meta 时(Ctrl/Cmd+K 除外)会被忽略。

按键操作
Esc关闭最上层(查看器、搜索、待确认按钮、表单),然后关闭菜单
Ctrl+K 或 Cmd+K聚焦命令搜索
/聚焦当前视图的筛选框
1 到 5切换视图:1 玩家,2 检测,3 封禁,4 日志,5 工具
上箭头 / 下箭头玩家视图:移动选择
s玩家视图:截图
l玩家视图:实时画面
w玩家视图:观战
t玩家视图:传送到该玩家处
b玩家视图:把该玩家拉到身边
左 / 右箭头、Home、End标签栏获得焦点时:在标签之间移动(从右到左书写的语言中方向相反)

屏蔽的按键和黑名单命令#

两个配置列表会影响玩家的按键和客户端命令。面板可以替换这两个列表。

tosun-ac 的命令、内置命令(不属于任何资源)以及 Resource Guard 视为已授权的资源的命令会被忽略。Resource Guard 基线就绪之前不会判定任何命令。ts.BlacklistKeys 的配置标题称其为菜单组合键,但列表中的每个 control 都是单独屏蔽的。

设置默认值效果
ts.BlacklistKeys{ 121 }(INSERT)列表中的每个 control 约每 5 毫秒对所有玩家(包括管理人员)禁用一次,因此绑定到它的脚本会失效。设为 {} 可取消屏蔽。面板最多可设置 50 个条目。
ts.BlacklistCommands作弊菜单名称,以及 tp、teleport、noclip、fly、exec 和 lua 等通用名称在非管理员客户端上,延迟 35 秒后约每 10 秒按名称(不区分大小写)比对已注册的客户端命令。匹配时以惩罚 command_spam(默认 KICK)上报。面板最多可设置 200 个条目。

常见陷阱#

最常让服主感到意外的行为简表。

  • /ts reload 会破坏正在运行的 AC,直到重启。请改为重启 tosun-ac。
  • /freeze、/acfreeze 和 /massfreeze 对非管理员玩家的冻结持续很短,因为 AC 自身的反冻结检查会在约 10 秒内解冻他们。
  • 封锁(来自 /ts_lockdown 或 /emergency)也会阻止管理人员加入,并在重启后重置。请在你的服务器上测试一次,确认新加入确实会被拒绝。
  • 禁言与服务器 ID 绑定。被禁言的玩家重新连接后就能再次聊天。
  • 没有 ox_inventory 时,/clearinv 不会清空任何东西。
  • AC 不保存 /capture 的结果;请检查 ts_screen_upload 中设置的上传目标。
  • /ts exempt 会把永久的 /ts whitelist 缩短为豁免时长。
  • /acping 对所有玩家开放,并会显示 AC 版本。
  • v9 裸名称(tphere、tpto、kickall、adminsync、warn)的行为与 ts_ 形式不同。请优先使用 ts_ 形式。

内部事件和 exports#

Tosun AC 还为管理菜单、网页面板桥接和自身保护注册了内部网络事件和 exports。它们不是命令,受权限和令牌检查保护,其他脚本不得调用。请改用公开的 exports 和事件。