原版服务器
准备工作
- 下载SteamCMD
- 一个正常的Steam账号
- 一个MySQL数据库
下载服务端
运行SteamCMD,输入:
force_install_dir D:\cs2-server
login anonymous
app_update 730 validate
quit
D:\cs2-server可以换成你自己的路径,但是本文后续的路径均以D:\cs2-server为基准
生成 GSLT
GSLT是让别人能正常连接你服务器的东西,如果纯局域网可以不弄
下列是步骤:
- 前往https://steamcommunity.com/dev/managegameservers
- 登录 Steam
- App ID 填 730
- 创建
把生成出的一长串的 Token 复制下来,后面要用
配置并启动服务器
配置
首先检查需要放行的端口是否放行,如果你没开防火墙可以跳过
需要放行的端口
必要的端口
TCP、UDP 协议需同时放行的端口 27015
这个端口负责什么?
这个端口的 TCP 协议部分负责远程 RCON 命令,就是能远程给服务端输指令
UDP 协议部分则负责让玩家连接、搜索到服务器
可选端口
UDP 协议放行 27020、27005端口
这些端口都负责什么?
27020端口负责GOTV转播,你在 CS 游戏客户端内看 Major 、或者看好友比赛时用的就是他
27005端口负责客户端通信 / Steam 节点响应
总的来说
TCP 协议负责 RCON 远程控制台,就是远程给服务端发指令
UDP 负责的很多,如果不放行UDP协议,玩家就进不来你服务器
如果你想要放行最少的端口,只用让玩家能进来就行
只需要放行端口 27015 的 UDP 连接
然后进入D:\cs2-server\game\csgo\cfg
新建一个文件 server.cfg
打开它,粘贴并修改以下内容:
hostname "标题"
sv_password "服务器密码"//留空就是公开无密码
rcon_password "管理员密码"
sv_cheats 0
mp_autoteambalance 1
mp_limitteams 1
mp_maxrounds 30
mp_roundtime 1.92
mp_freezetime 15
mp_buytime 20
sv_lan 0
启动
后续可以在D:\cs2-server\game\bin\win64\文件夹中通过
cs2.exe -dedicated -console -usercon +map de_dust2 +maxplayers 10 +sv_setsteamaccount 你的GSLT令牌 -port 27015
启动服务器
如果你嫌每次都手动输指令麻烦,可以新建一个Start.bat文件
在里面输入
@echo off
cd /d "D:\cs2-server\game\bin\win64"
cs2.exe -dedicated -console -usercon +map de_dust2 +maxplayers 10 +sv_setsteamaccount 你的GSLT令牌 -port 27015
这样启动时只需要运行Start.bat即可
测试连接
现在这个服务器如果不出意外,已经可以加入了,只是没有插件,不可以换皮肤之类的
可以在CS2内打开控制台,输入
connect 127.0.0.1:27015
//如果有密码就再加; password 你的密码
指令加入
你连得上但是你朋友连不上,以及需要放行的端口
检查是否有公网IP
如果你的电脑/服务器没有公网IP,就只有跟你一个局域网的人能连
打个比方,你跟你朋友分别住在A城市跟B城市
你跟你朋友说你在1栋3楼
你朋友就去了1栋3楼找你,但是他根本找不到你,因为你在的是A城市的1栋3楼,而他去的是B城市的1栋3楼
解决方法通常是换一个有公网IP的服务器或者内网穿透
如果连接正常,并且
你只是想开个服跟朋友玩玩原版之类的,不需要换皮肤等官方没有的功能,那现在就可以退出这篇文章并享受游戏了
下面将教学如何通过加插件来实现换皮肤
加入服务器插件
安装加载器和框架
首先安装 Metamod + CounterStrikeSharp
Metamod 是一个插件加载器,如果用MC的角度来讲,就是Forge和Fabric
CounterStrikeSharp是一个框架,如果用MC的角度来讲,他就是核心库mod,比如Fabric API
前往Metamod:Source – Snapshots下载Metamod
前往roflmuffin/CounterStrikeSharp: CounterStrikeSharp allows you to write server plugins in C# for Counter-Strike 2/Source2/CS2下载CounterStrikeSharp,注意第一次下载要下带 runtime 的版本
下载下来应该是两个压缩包,把这两个压缩包里的addons文件夹都解压合并到
D:\cs2-server\game\csgo\addons
然后编辑文件D:\cs2-server\game\csgo\gameinfo.gi
找到Game_LowViolence csgo_lv这一行,在它下面添加:
Game csgo/addons/metamod
注意缩进
现在重启服务器,并在控制台输入meta list应该能看到 CounterStrikeSharp
注意每次CS2更新之后你的
gameinfo.gi都会被改回去,所以每次更新都要重新加入这一行,不然插件会无法加载
安装皮肤插件的前置插件
下载
前往
- Releases · NickFox007/MenuManagerCS2
- Releases · NickFox007/PlayerSettingsCS2
- Releases · NickFox007/AnyBaseLibCS2
分别下载
- MenuManagerCS2
- PlayerSettings
- AnyBaseLibCS2
配置
打开下载下来的压缩包
将压缩包里的 plugins 和 shared 分别合并到
D:\cs2-server\game\csgo\addons\counterstrikesharp
里的 plugins 和 shared
安装皮肤插件本体
我们这里选择的皮肤插件是WeaponPaints
下载插件
前往Releases · Nereziel/cs2-WeaponPaints下载 WeaponPaints
配置插件
然后将压缩包中的WeaponPaints文件夹整个复制到
D:\cs2-server\game\csgo\addons\counterstrikesharp\plugins\
然后你需要一个 MySQL 数据库,怎么部署MySQL本文不过多赘述
假设已经建好了数据库
重启一次服务器,让服务器生成配置文件
然后编辑D:\cs2-server\game\csgo\addons\counterstrikesharp\configs\plugins\WeaponPaints\WeaponPaints.json
填入你的数据库信息
最后进入插件目录
D:\cs2-server\game\csgo\addons\counterstrikesharp\plugins\WeaponPaints\
找到里面的gamedata文件夹
把里面的weaponpaints.json复制到
D:\cs2-server\game\csgo\addons\counterstrikesharp\gamedata\
如果想要汉化
可以打开D:\cs2-server\game\csgo\addons\counterstrikesharp\configs\plugins\WeaponPaints\WeaponPaints.json把en改成zh-CN
最后修改
最后记得要修改D:\cs2-server\game\csgo\addons\counterstrikesharp\configs\core.json这个文件
找到里面的FollowCS2ServerGuidelines,把它改成 false
这个设置是CounterStrikeSharp 自带的限制
开启时它会遵守 Valve 的规定,禁止插件给玩家显示他们库存里没有的皮肤、刀、手套、干员等
关闭时就限制就没了
注意V社本身是禁止社区服通过插件免费向玩家提供官方皮肤/刀具/手套的,所以这种服务器建议设置密码+只跟朋友玩
而如果使用了你账号生成的 GSLT 令牌的服务器被检测/举报,可能会导致生成该令牌的 Steam 账号面临 GSLT 封禁
也就是账号无法再创建游戏服务器
完成
完成以上步骤后,你就拥有了一个在端口27015运行的,可以自定义皮肤的CS2私服了
补一句,现在想加自定义干员模型的插件的话很麻烦,没有什么稳定的插件(至少我没找到