配置
所有与 MEngZy 相关的配置文件都可以在 csgo/cfg/MatchZy
中找到(如果你已正确解压内容,cfg
文件夹中应该有 MatchZy
文件夹)。
创建管理员
有两种方式可以为 MEngZy 创建管理员,你可以根据个人喜好选择最方便的方式。
-
使用 CSSharp 的管理员系统:
你可以在
/addons/counterstrikesharp/configs/admins.json
文件中添加新条目,并设置适当的权限标志,如下例所示:json { "WD-": { "identity": "76561198154367261", "flags": [ "@css/root" ] }, "Another admin": { "identity": "SteamID 2", "flags": [ "@css/config", "@css/rcon" ] } }
权限标志说明:
@css/root
:授予所有管理员命令的访问权限@css/config
:授予配置相关管理员命令的访问权限@custom/prac
:授予练习相关管理员命令的访问权限@css/map
:授予更换地图和切换练习模式的权限@css/rcon
:授予使用!rcon <command>
触发 RCON 命令的权限@css/chat
:授予使用!asay <message>
发送管理员聊天消息的权限
-
使用 MEngZy 的管理员系统:
在
csgo/cfg/MatchZy
中应该有一个名为admins.json
的文件。如果该文件不存在,插件加载时会自动创建。你可以在该 JSON 文件中添加管理员的 Steam64 ID,如下例所示:json { "76561198154367261": "", "<another_steam_id>": "" }
配置 MEngZy 设置(ConVars)
matchzy_knife_enabled_default
是否默认启用拼刀。这是默认值,但管理员可以使用 .roundknife 命令切换。管理员 可以通过此命令进行切换。 默认:true
matchzy_minimum_ready_required
开始比赛所需的最低准备玩家数量。如果设置为 0,所有连接的玩家都必须准备就绪才能开始比赛。 默认:2
matchzy_stop_command_available
默认情况下是否启用 !stop/.stop 命令以恢复当前回合的备份。 默认:false
matchzy_stop_command_no_damage
如果一名玩家对敌方玩家造成伤害,是否使停止命令不可用。 默认:false
matchzy_pause_after_restore
是否在回合恢复后暂停比赛。玩家可以使用 !unpause/.unpause 命令取消暂停(两队都需要使用取消暂停命令)或管理员可以使用 .fup
命令强制取消暂停游戏。 默认:true
matchzy_whitelist_enabled_default
是否默认启用白名单。这是默认值,但管理员可以使用 .whitelist
命令切换白名单 默认:false
matchzy_kick_when_no_match_loaded
是否在未加载比赛时踢出所有客户端并阻止任何人加入服务器。这意味着如果服务器处于比赛模式,则需要使用 matchzy_loadmatch
/matchzy_loadmatch_url
来设置和配置比赛。 默认值:false
matchzy_demo_path
保存演示的文件夹路径。如果已定义,则不能以斜杠开头,必须以斜杠结尾。设置为空字符串以使用 csgo 根目录。示例:matchzy_demo_path MEngZy/
默认值:MengZy/
matchzy_demo_name_format
demo文件命名格式。您可以使用 {TIME}、{MATCH_ID}、{MAP}、{MAPNUMBER}、{TEAM1} 和 {TEAM2}。演示文件将根据指定的格式命名。 请勿包含 .dem 格式,它将自动添加。 确保将 {TIME} 保持为正确的格式以创建每次唯一的演示文件。 默认: "{TIME}_{MATCH_ID}_{MAP}_{TEAM1}_vs_{TEAM2}"
matchzy_demo_upload_url
如果已定义,一旦地图结束,记录的演示将 上传 到此 URL。请确保 URL 用双引号 ("") 括起来。 示例:matchzy_demo_upload_url "https://your-website.com/upload-endpoint"
默认值: ""
matchzy_kick_when_no_match_loaded
是否在未加载比赛时踢出所有客户端并阻止任何人加入服务器。 这意味着如果服务器处于比赛模式,则需要使用 matchzy_loadmatch
/matchzy_loadmatch_url
来设置和配置比赛。 默认值: false
matchzy_chat_prefix
每次向玩家发送 MatchZy 消息时显示的聊天前缀。 可用颜色:{Default}, {Darkred}, {Green}, {LightYellow}, {LightBlue}, {Olive}, {Lime}, {Red}, {Purple}, {Grey}, {Yellow}, {Gold}, {Silver}, {Blue}, {DarkBlue}, {BlueGrey}, {Magenta} and {LightRed}。 请确保您的前缀以{Default}结束,以避免将消息的前缀颜色设置为颜色。 默认:[{Green}MatchZy{Default}]
matchzy_admin_chat_prefix
当管理员使用 .asay <message>
发送消息时显示的聊天前缀。 可用颜色:{Default}, {Darkred}, {Green}, {LightYellow}, {LightBlue}, {Olive}, {Lime}, {Red}, {Purple}, {Grey}, {Yellow}, {Gold}, {Silver}, {Blue}, {DarkBlue}, {BlueGrey}, {Magenta} and {LightRed}。 默认:[{红}ADMIN{默认}]
matchzy_chat_messages_timer_delay
在发送 MatchZy 提醒消息(如未准备好消息、暂停消息等)之前延迟的秒数。 注意:更改此计时器不会影响活动计时器,因此如果您在预热期间更改此设置,您必须重新启动预热才能使更改生效。 默认值:13[{红色}管理员{默认}]
matchzy_playout_enabled_default
是否启用打满所有回合。这是默认值,但管理员可以使用.playout
命令切换播放。 默认值:false
matchzy_reset_cvars_on_series_end
是否在比赛结束时将比赛配置中的 cvars 部分参数恢复到原始值。 默认值:true
matchzy_use_pause_command_for_tactical_pause
是否使用 !pause/.pause 命令进行战术暂停或普通暂停(只有当两支队伍都使用取消暂停命令时才会取消暂停,管理员强制取消暂停游戏)。 默认值:false
matchzy_autostart_mode
插件是否在启动时加载比赛模式、练习模式或两者都不加载。 0 表示两者都不加载,1 表示比赛模式,2 表示练习模式。 默认值:1
matchzy_save_nades_as_global_enabled
是否将道具保存为全局,而不是默认为私有给玩家。 默认值:false
matchzy_allow_force_ready
是否启用了使用 !forceready 强制准备的功能(目前仅在比赛设置中有效)。 默认值:true
matchzy_max_saved_last_grenades
每张地图、每个客户端可能保存的最大道具历史数量。设置为 0 以禁用限制,允许无限存储手榴弹。 默认值:512
matchzy_smoke_color_enabled
如果启用,烟雾的颜色将更改为玩家的队伍颜色(雷达中看到的玩家颜色)。 默认:false
matchzy_everyone_is_admin
如果设置为 true,所有人将获得 MatchZy 的管理权限。 默认:false
matchzy_show_credits_on_match_start
是否在匹配开始时显示作者信息。 默认:true
matchzy_hostname_format
使用的比赛名。设置为 "" 以禁用/使用现有主机名。 可用变量:{TIME}, {MATCH_ID}, {MAP}, {MAPNUMBER}, {TEAM1}, {TEAM2}, {TEAM1_SCORE}, {TEAM2_SCORE} 默认:MEngZy | {TEAM1} vs {TEAM2}
matchzy_match_start_message
比赛开始时显示的消息。使用 $$ 将消息拆分为多行。设置为 "" 以禁用。 可用颜色:{默认}, {深红}, {绿}, {浅黄}, {浅蓝}, {橄榄}, {青}, {红}, {紫}, {灰}, {黄}, {金}, {银}, {蓝}, {深蓝}。 示例用法:matchzy_match_start_message {绿} 欢迎来到服务器!{默认} $$ 未经授权的代理模型是禁止的,可能导致 {红}取消资格!{默认}
默认: ""
matchzy_loadbackup
从给定的文件加载比赛备份。相对于 csgo/MatchZyDataBackup/
。
matchzy_loadbackup_url
通过发送 HTTP(S) GET 请求到指定的 URL 从远程主机加载 Match 备份。您可以可选地使用头部名称和头部值参数提供 HTTP 头部和值对。您应将所有参数放在引号("")内。
matchzy_remote_backup_url
如果已定义,MatchZy 将自动通过 HTTP POST 请求将备份发送到该 URL。如果没有提供协议,将自动添加 http://。 需要 SteamWorks 扩展。
matchzy_remote_backup_header_key
如果这两个值都定义了,则将使用此头部名称和值进行备份上传 HTTP 请求。 默认: "Authorization"
matchzy_remote_backup_header_value
如果这两个值都定义了,则将使用此头部名称和值进行备份上传 HTTP 请求。 默认: ""
matchzy_enable_damage_report
是否在每轮结束后显示伤害报告。 默认: "true"
matchzy_addplayer <steam64> <team1|team2|spec> [name]
将 Steam64 添加到指定的队伍。名称参数锁定玩家名称。
matchzy_removeplayer <steam64>
从所有队伍中移除 Steam64
配置 MEngZy 设置(CFG)
matchzy_whitelist_enabled_default
是否默认启用白名单,这是默认值,但管理员可以使用 .whitelist 命令切换白名单状态。 默认值:true
matchzy_knife_enabled_default
是否默认启用拼刀局,这是默认值,但管理员可以使用 .roundknife 命令切换拼刀状态。 默认值:true
matchzy_minimum_ready_required
开始比赛所需的最少准备玩家数。如果设置为 0,则所有已连接的玩家都必须准备才能开始比赛。 默认值:0
matchzy_demo_path
Demo 保存的文件夹路径。如果定义了路径,*开头不能有斜杠,结尾必须有斜杠*。设置为空字符串则使用 csgo 根目录。 示例:matchzy_demo_path MatchZy/
如果 csgo 文件夹中不存在名为 MatchZy
的文件夹,将创建该文件夹并在其中存储录制的 demo。 默认值为 MatchZy/
**,表示 demo 将存储在 MatchZy/
中
matchzy_demo_name_format
Demo 文件名格式。可以使用 {TIME}
、{MATCH_ID}
、{MAP}
、{MAPNUMBER}
、{TEAM1}
和 {TEAM2}
Demo 文件将按照指定的格式命名。不要包含 .dem
格式,它会自动添加 确保在格式中保留 {TIME} 以每次创建唯一的 demo 文件 默认值:"{TIME}_{MATCH_ID}_{MAP}_{TEAM1}_vs_{TEAM2}"
matchzy_stop_command_available
是否默认启用 !stop/.stop 命令。 注意:我们使用 Valve 备份系统来记录和恢复备份。在大多数情况下,这应该没问题,但在某些情况下,这可能不可靠。 默认值:false
matchzy_stop_command_no_damage
如果玩家对对方队伍的玩家造成伤害,stop 命令是否变为不可用。 默认值:false
matchzy_enable_tech_pause true
是否启用 .tech 命令 默认值:true
matchzy_tech_pause_flag
使用技术暂停所需的权限标志。留空则所有人可用。 默认值:""
matchzy_tech_pause_duration
技术暂停持续时间(秒)。设置为 -1 则无限。 默认值:-1
matchzy_max_tech_pauses_allowed
允许的最大技术暂停次数。 默认值:2
matchzy_tactical_pause_duration
战术暂停持续时间(秒) 默认值:30
matchzy_max_tactical_pauses_allowed
每个队伍允许的最大战术暂停次数。 默认值:3
matchzy_pause_after_restore
回合恢复后是否暂停比赛。玩家/管理员可以使用 !unpause/.unpause 解除暂停(对于玩家,双方队伍都必须使用 unpause 命令) 默认值:false
matchzy_chat_prefix
当 MEngZy 向玩家发送消息时显示的聊天前缀。 可用颜色:{Default}、{Darkred}、{Green}、{LightYellow}、{LightBlue}、{Olive}、{Lime}、{Red}、{Purple}、{Grey}、{Yellow}、{Gold}、{Silver}、{Blue}、{DarkBlue}、{BlueGrey}、{Magenta} 和 {LightRed}。确保以 {Default} 结束前缀,以避免消息使用前缀颜色 [{Green}MatchZy{Default}]
matchzy_admin_chat_prefix
当管理员使用 .asay 默认值:[{Red}ADMIN{Default}]
matchzy_chat_messages_timer_delay
发送 MatchZy 提醒消息(如未准备消息、暂停消息等)之前的延迟秒数。注意:更改此计时器不会影响活动计时器,因此如果在热身时更改此设置,您需要重新启动热身才能使更改生效。 默认值:13(因为每条消息在聊天中保持约 13 秒)
matchzy_playout_enabled_default
是否启用 playout(打满所有回合)。这是默认值,但管理员可以使用 .playout 命令切换 playout 状态 默认值:false
matchzy_kick_when_no_match_loaded
如果未加载比赛,是否踢出所有客户端并阻止任何人加入服务器。这意味着如果服务器处于比赛模式,需要使用 matchzy_loadmatch/matchzy_loadmatch_url 加载和配置比赛。只有该比赛中的玩家才能加入服务器,否则将被踢出。 默认值:false
matchzy_reset_cvars_on_series_end
系列赛结束时是否将比赛配置 cvars 部分的参数恢复为原始值 默认值:true
matchzy_demo_upload_url
如果定义了,地图结束时录制的 demo 将上传到此 URL。 默认值:""
matchzy_autostart_mode
插件启动时是否加载比赛模式、练习模式或都不加载,0 表示都不加载,1 表示比赛模式,2 表示练习模式。 默认值:1
matchzy_save_nades_as_global_enabled
是否默认将道具保存为全局而不是玩家私有。 默认值:false
matchzy_allow_force_ready
是否启用使用 !forceready 强制准备(目前仅在比赛设置中有效)。 默认值:True
matchzy_max_saved_last_grenades
每个地图每个客户端可以保存的最大道具历史数。设置为 0 则禁用限制并允许存储无限道具。 默认值:512
matchzy_smoke_color_enable
是否启用玩家特定的烟雾颜色。 默认值:false
matchzy_everyone_is_admin
如果设置为 true,所有玩家都将拥有管理员权限。 默认值:false
matchzy_show_credits_on_match_start
是否在比赛开始时显示作者信息。 默认值:true
matchzy_hostname_format "MEngZy | {TEAM1} vs {TEAM2}"
要使用的比赛名。设置为 "" 则禁用/使用现有比赛名。 默认值:"MEngZy | {TEAM1} vs {TEAM2}"
matchzy_enable_damage_report
是否在每回合结束后显示伤害报告。 默认值:true
matchzy_enable_c4_timer
是否在C4安放后显示爆炸倒计时。 默认值:true
matchzy_match_start_message
比赛开始时显示的消息。使用 $$$ 将消息分成多行。设置为 "" 则禁用 可用变量:{TIME}、{MATCH_ID}、{MAP}、{MAPNUMBER}、{TEAM1}、{TEAM2}、{TEAM1_SCORE}、{TEAM2_SCORE} 可用颜色:{Default}、{Darkred}、{Green}、{LightYellow}、{LightBlue}、{Olive}、{Lime}、{Red}、{Purple}、{Grey}、{Yellow}、{Gold}、{Silver}、{Blue}、{DarkBlue} 示例:{Green} 欢迎来到服务器!{Default} $$$ 禁止使用作弊软件,否则可能导致{Red}取消比赛资格!{Default} 默认值:""
配置热身/刀局/正式/练习 CFG
同样在 csgo/cfg/MatchZy
中,应该有名为 warmup.cfg
、knife.cfg
、live.cfg
和 prac.cfg
的文件。这些配置分别在热身、刀局、正式比赛和练习模式开始时执行。
你可以根据需要修改这些文件,或添加 live_override.cfg / live_wingman_override.cfg 来创建"覆盖"配置。
如果在预期位置找不到这些配置,MEngZy 将执行代码中的默认配置。
玩家白名单
同样在 csgo/cfg/MatchZy
中,会有一个名为 whitelist.cfg
的文件。你可以添加白名单玩家的 Steam64 ID,如下例所示:
steamid1
steamid2
比赛/玩家统计和数据
数据库统计
MEngZy 自带默认数据库(SQLite),它会自动配置。MEngZy 也可以使用 MySQL 数据库!
目前我们使用 2 个表,matchzy_stats_matches
和 matchzy_stats_players
。顾名思义,matchzy_stats_matches
保存每场比赛的数据,如比赛 ID、队伍名称、比分等。
而 matchzy_stats_players
存储参与该比赛的每个玩家的数据/统计信息。它存储的数据包括比赛 ID、击杀数、死亡数、助攻数和其他重要统计数据!
在 MatchZy 中使用 MySQL 数据库
要在 MEngZy 中使用 MySQL 数据库,打开 csgo/cfg/MatchZy/database.json
文件。其内容如下:
{
"DatabaseType": "SQLite",
"MySqlHost": "your_mysql_host",
"MySqlDatabase": "your_mysql_database",
"MySqlUsername": "your_mysql_username",
"MySqlPassword": "your_mysql_password",
"MySqlPort": 3306
}
在这里,将 DatabaseType
从 SQLite
改为 MySQL
,然后填写所有其他详细信息,如主机、数据库、用户名等。
MySQL 数据库对于那些想在多个服务器之间使用共同数据库的人来说很有用!
CSV 统计
比赛结束后,数据从数据库中提取并写入以下文件夹中的 CSV 文件:
csgo/MatchZy_Stats
。该文件夹将包含每场比赛的 CSV 文件(文件名模式:match_data_map{mapNumber}_{matchId}.csv
),其中包含与 matchzy_stats_players
中相同的数据。
这里还有改进的空间,比如在 CSV 文件中或至少在文件名模式中包含比赛比分。我很快会做出这个改变!
事件和 HTTP 日志
matchzy_remote_log_url
发送所有事件的 URL(POST 请求)。设置为空字符串以禁用。事件的 OpenAPI 文档 默认值: ""
用法:matchzy_remote_log_url "url"
别名:get5_remote_log_url
matchzy_remote_log_header_key
如果定义了此项和 matchzy_remote_log_header_value,此头名称和值将添加到你的HTTP Post 请求头中。 默认值: ""
用法:matchzy_remote_log_header_key "Authorization"
别名:get5_remote_log_header_key
matchzy_remote_log_header_value
如果定义了此项和 matchzy_remote_log_header_key,此头名称和值将添加到你的HTTP Post 请求头中。 默认值: ""
用法:matchzy_remote_log_header_value "header_value"
别名:get5_remote_log_header_value