Skip to content

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fun1v5

中文 | English

CS2 专用服务器插件:在 MatchZy 正式比赛中开启 1v5 坦克模式。一人方整场共 10000 血、不会自动回血;五人方用刀和电击枪打出更高伤害。

当前版本:1.0.4
框架:CounterStrikeSharp

配套插件:FunRandomRounds(不要和本插件同时开启)


功能概览

  • 一人方:整场共享 10000 生命值,受伤后不会回复;每回合刷新 1000 护甲
  • 五人方:刀伤 ×3,电击枪固定 500 伤害
  • 血量和规则跟着人走:MatchZy 中场换边后,一人方仍是原来的那名玩家
  • 一人方血量归零时强制倒地并结束回合(已下包则不强制结束)
  • 关闭模式时还原血量、护甲和开启前的队伍 CVar
  • 不要和 FunRandomRounds.funrand 同时开启

运行环境

依赖 说明
CS2 Dedicated Server Windows / Linux
Metamod:Source CS2 版本
CounterStrikeSharp 建议与 API 1.0.342 同代或更新
MatchZy 开赛、准备、BO 流程仍由 MatchZy 负责

本插件不替代 .ready / .start。建议 BO13 竞技配置。


安装

  1. 在本仓库 Releases 下载 Fun1v5.dll,或按下方说明自行构建。
  2. 复制到服务器插件目录:
csgo/addons/counterstrikesharp/plugins/Fun1v5/Fun1v5.dll
  1. 重启 CS2 服务器,或在服务器控制台执行:
css_plugins load Fun1v5
  1. 确认日志出现 Fun1v5 加载成功。

管理员判定与 MatchZy 一致:

  • CounterStrikeSharp 权限:@css/generic@css/root
  • csgo/cfg/MatchZy/admins.json 中登记的 SteamID

使用方式

管理员在聊天输入(点号命令),或在服务器控制台使用 css_fun1v5

聊天 控制台 作用
.fun1v5 css_fun1v5 开启,一人方默认为 T
.fun1v5 t css_fun1v5 t 开启,一人方为 T
.fun1v5 ct css_fun1v5 ct 开启,一人方为 CT
.fun1v5 off css_fun1v5 off 关闭并还原开启前的设置
.funhp css_funhp 播报一人方剩余生命和护甲

开启后:

  1. 把独狼分到指定阵营,其余玩家到对面
  2. 仍用 MatchZy 开赛:玩家 .ready,管理员 .start
  3. 热身结束时一人方生命重置为 10000,每回合护甲重置为 1000
  4. 中场换边后,血量池和刀伤规则跟着原来的一人方玩家走

插件会关闭自动平衡(mp_limitteams 0mp_autoteambalance 0),避免 MatchZy 把独狼踢回人多的一边。


规则细节

项目 数值
一人方生命 10000,整场不回复
一人方护甲 每回合 1000(含头盔)
五人方刀伤 引擎伤害 × 3
五人方电击枪 补足到 500 伤害
一人方阵营人数 按 1 人设计;多于 1 人会在聊天警告

生命值存在插件自己的血量池里,并每帧把引擎血量钳在池值以下,避免医疗包、回合回血把坦克奶满。


从源码构建

环境

  • .NET 8 SDK(或更高,能编译 net8.0 即可)
  • Windows / Linux / macOS 均可编译

编译

git clone https://github.com/IsNotSunal/Fun1v5.git
cd Fun1v5
dotnet restore
dotnet build -c Release

成功后输出:

bin/Fun1v5.dll

把该 DLL 复制到服务器插件目录即可。不要把 CounterStrikeSharp.API.dll 一起拷进去,运行时由 CounterStrikeSharp 提供。

项目文件说明

Fun1v5.csproj 关键项:

属性 含义
TargetFramework net8.0 与 CounterStrikeSharp 运行时一致
AllowUnsafeBlocks true 与 CSS 插件惯例一致
OutputPath bin/ 输出目录不带 net8.0 子目录
CounterStrikeSharp.API 1.0.342 编译引用;PrivateAssets=all,不复制到输出

升级 CSS 时,同步修改 csproj 里的 API 版本,并在目标服务器上使用对应的 CounterStrikeSharp 构建。


项目结构

Fun1v5/
├── Fun1v5.cs          # 插件入口:命令、血量池、伤害、换边
├── Fun1v5.csproj      # .NET 8 工程
├── CvarSnapshot.cs    # 开启时保存 / 关闭时还原队伍 CVar
├── README.md
├── README.en.md
└── LICENSE

主要逻辑在 Fun1v5.cs

  • .fun1v5 开启时记录当前一人方阵营的玩家 SteamID
  • player_hurt 把刀伤/电击枪额外伤害写入血量池
  • OnTick 钳制一人方当前生命,阻止回血
  • player_team / 回合开始时检测换边,血量规则跟着人走
  • 关闭时把玩家血量/护甲还原到 100,并恢复 mp_limitteams 等 CVar

注意事项

  • 不要同时开启 .fun1v5FunRandomRounds.funrand
  • 一人方应只有 1 名真人玩家;插件不会自动把其他人挪队
  • 热重载(css_plugins reload Fun1v5)会关闭当前模式

License

MIT。

以上所有都是由cursor gork 4.6 和 gpt 5.6 sol生成的 本来是写出来给朋友一起玩的,玩腻了所以发布出来 给所有东西上传前移除了一堆“敏感信息”,里面包含了我们的游戏id 如果想将这个插件用在一些大型活动或者啥的建议先看看代码里面有没有什么bug或者漏洞啥的,我不是很相信ai代码的安全性 如果只是跟朋友玩,或者只是一些小型活动的话,随便用

About

CS2 CounterStrikeSharp plugin: MatchZy 1v5 tank mode

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages