这都多少年过去了我们的笨水母居然也有私服了
来写一份教程吧
资源获取:
文章中所需的所有资源的链接整合在这里
服务端: 官方仓库 | 我的魔改版本的仓库(暂不开源)
数据库: MongoDB 官网下载
服务端和数据库也可前往网盘下载:123盘(已弃用, 请远离死妈网盘) | 荼蘼云盘 (请勿转存)
私服启动器: AscNetPGRLauncher (请勿转存)
客户端: 战双国际服官网 |123盘镜像文件(已弃用, 请远离死妈网盘) | 荼蘼镜像站(分流1|2|3|4) (解压密码blog.tomys.top
)
教程分为搭建服务端和进入私服服务器两部分, 如果有需求可以自行搭建服务端进入, 如无需求可以跳过第一部分直接查看进入私服服务器部分来加入我们的公共服务器
进行到每一步请检查自己的程序的表现是否与文档说明一致, 不一致请检查哪里出了问题
加群/留言提问前, 请先学习 提问的智慧
搭建服务端
1. 环境安装
软件需要 MongoDB 作为数据库. 请先从官网或荼蘼云盘下载安装 MongoDB
安装过程中建议选择 Custom
安装, 然后在接下来的选项中取消左下角勾选的 Install MongoDB Compass
, 这个是在线下载, 会导致国内用户卡在安装末尾
如果服务端要暴露在公网, 请自行搜索 MongoDB 开启鉴权
的教程
2. 服务端获取
可以前往官方仓库下载源码后自行编译, 或者下载我编译好的服务端
网盘仅提供 Windows x64 和 Linux x64 版本(应该没人还在用32位吧? )
3. 配置文件修改
主程序下
./Configs
目录为配置文件夹, 其中version_config.json
为游戏资源下载配置为新账号进入游戏后默认拥有的物品列表
default_items.jsonconfig.json
为程序主配置文件
程序主配置文件不会输出所有的配置项, 下面有完整的默认 config.json
供参考
注意目前战双部分请求是强制 http 的, 所以服务器可以是纯 http, 也可以是 http+https, 但是不能是纯 https
官方版配置文件
官方版只有以下一些项目可供配置, 其它都是硬编码在源码里面的(不过也够用了
一些硬编的配置项:
- SDKServer 监听 IP 为
*
- GameServer 监听 IP为
0.0.0.0
- SDKServer 监听端口
HTTP80
+HTTPS443
- SDKServer HTTPS SSL 证书使用 dotnet 自签证书
- SDKServer 访问 IP 遵从 GameServer 的配置
- SDKServer 默认传给客户端不带任何端口的 HTTP 地址
- 数据库配置不提供鉴权选项
{
"VerboseLevel": "Normal", // 日志等级, 可选 Silent/Normal/Debug/SuperDebug
"GameServer": { // GameServer 配置
"RegionName": "AscNet", // 服务器名称
"Host": "127.0.0.1", // 传递给客户端的连接地址
"Port": 2335 // 传递给客户端的连接端口
},
"Database": { // 数据库配置
"Host": "127.0.0.1", // 数据库连接地址
"Port": 27017, // 数据库连接端口
"Name": "asc_net" // 数据库名称
},
"SaveClientLogs": false // 是否保存客户端日志, 这个配置目前无用
}
AscNetTJ 配置文件
{
"VerboseLevel": "Debug", // 日志等级, 可选 Silent/Normal/Debug/SuperDebug
"SDKServer": { // SDKServer 配置
"BindHost": "*", // 监听 IP, * 即所有出口
"BindPortHttp": 81, // HTTP 服务器监听的端口, 0 即不启用 HTTP 服务器, HTTP 和 HTTPS 服务器至少需要启用一个
"BindPortHttps": 444, // HTTPS 服务器监听的端口, 0 即不启用 HTTPS 服务器, HTTP 和 HTTPS 服务器至少需要启用一个
"AccessHost": "127.0.0.1", // 传递给客户端的访问地址
"AccessPort": 81, // 传递给客户端的访问端口
"Https": { // HTTPS 相关配置
"CertPemPath": "./Configs/cert.pem", // pem证书公钥, 默认使用的是自带的 127.0.0.1 的自签名证书
"KeyPemPath": "./Configs/key.pem", // 证书私钥
"UseEncryption": false // 使用加密, false 则传递给客户端的地址全为 HTTP, 反之全为 HTTPS
}
},
"GameServer": { // GameServer 配置
"RegionName": "AscNetTJ", // 服务器名称
"BindHost": "127.0.0.1", // GameServer 监听的地址
"BindPort": 2335, // GameServer 监听的端口
"AccessHost": "127.0.0.1", // 传递给客户端的连接地址
"AccessPort": 2335 // 传递给客户端的连接地址
},
"Database": { // 数据库配置
"Host": "127.0.0.1", // 数据库连接地址
"Port": 27017, // 数据库连接端口
"Name": "AscNetTJ", // 数据库名称
"Username": "", // 数据库用户名, 留空则不使用鉴权
"Password": "" // 数据库密码
},
"SaveClientLogs": false // 是否保存客户端日志, 这个配置目前无用
}
4. 运行服务端
修改好配置文件后, 双击运行 AscNet.exe
即可
5. 常见问题
闪退?
在命令行中启动AscNet, 就能看到输出内容了, 然后请根据输出内容自己寻找解决方案
进入私服服务器
1. 下载游戏
可以前往官网下载安装并更新游戏, 但是如果你在国内, 极大概率下到一半开始限速, 并且游戏内热更下载更慢, 故建议按照以下教程通过网盘下载我准备好的游戏包
网盘提供了多个版本的 CN 和 OS 存档, 但 AscNet 只支持 OS 1.32-2.3 版本, 建议下载最新版本
网盘中 Punishing Gray Raven_x.x.x_Global_pclauncher.exe
为国际服启动器, 可下可不下
其他两个文件为游戏本体和热更资源(带HotDownload
字样), 必须下载
下载后将本体解压, 然后将热更资源解压并覆盖到游戏本体目录, 至此客户端下载完成, 可以尝试运行客户端, 确保此时可以进入官服(注意如果进入后有更新请不要下载, 否则私服版本可能会低于官服导致卡在检查更新)
2. 进入私服
下载并运行 AscNetPGRLauncher, 选择游戏路径(即上一步下载的游戏目录, PGR.exe
所在位置)
选择有效的游戏目录后, 操作按钮将可用
点击 转私服
, 等待操作完成
然后在服务器地址输入你的服务器地址, 注意游戏目前不支持纯 https, 请使用 http :
– 如果你是使用 AscNetTJ 自己搭建, 默认为 http://127.0.0.1:81
– 如果你是使用 AscNet 官方版自己搭建, 默认为 http://127.0.0.1
– 如果你要加入我们的公益服务器, 输入 http://pgr.tomyjan.com
然后点击 启动代理, 运行代理模块
代理模块运行后, 请先确保你已经退出 MSI Afterburner
等屏幕叠加层软件 (这类软件会导致私服的登录窗口无法显示), 然后点击运行游戏
进入游戏后如果卡在 Checking files
, 请关闭游戏后尝试 AscNetPGRLauncher 的 修复卡 Checking files
选项然后重新启动游戏
进入游戏后, 应当同时出现游戏终端窗口(注意游戏会同终端窗口一起被关闭); 到登录界面后, 应当出现 KRSDK
登录窗口, 此时说明各个部分加载正确了
在KRSDK
窗口切换至 Settings
选项卡后, 确保显示的服务器地址与前面输入的相同, 然后切换至Register
选项卡注册账号(如果还没有该服务器的账号), 然后切换至Login
选项卡登录账号
成功登录后, 即可点击游戏界面进入游戏
3. 游玩私服
进入游戏后, 可打开世界频道, 发送 /help
获取指令帮助
服务端有远程指令功能, 但是暂时无人开发指令工具, 故只能在游戏内执行指令
目前服务端完善度很低, 很多功能用不了/卡住纯属正常
4. 常见问题
中文支持?
国际服游戏不支持中文; 服务端官方版为英文, 我的版本为中英双语
游戏卡住?
卡死, 可以尝试等待一会/疯狂点击直至出现脱离卡死按钮/重启游戏
操作什么后无限转圈, 如果你是本地服, 可以尝试重启服务端, 游戏会被自动踢到登录页面, 然后你就可以登入游戏; 如果重启服务端不行或者你游玩的是公益服, 可以尝试重启游戏
报错 Network Error?
本地服请自己看服务端输出; 公益服可能是在维护, 维护通知不会在此更新, 可以加群获取通知
我遇到了问题但是不会/不想自己摸索解决?
加群砸钱开道呗
关于
这是一个开源免费的项目, 请勿用于任何商业用途!
加群或评论讨论请勿询问文章中说明了的问题
AscNet交流Q群: 599397192, 闲聊Q群: 630657900, 进群后请读公告, 请不要加博客里面其他群, 不会通过
原项目仓库: https://git.lewd.wtf/PGR/ascnet
如果有帮助到你, 你可以前往 捐赠 我
我尝试了2.14.0的台湾版不能进,注册输入用户名密码之后显示登录校验失败,是因为不支持最新的版本吗?
下载CN2.14.0在启动器中会提示游戏文件校验错误没办法进行下一步,热更也打上了
游戏端下的CN2.14替换了热更资源2.14.7,可以正常进游戏到登录界面,也不会提示更新,路径没有中文,AscNetPGRLauncher_V1.1.4选了路径后提示文件校验错误,不知道哪的问题
踩了小坑记录一下,文章游戏端直达的链接是英文旧版的,需要回退上级目录到CN 选择2.12版本下载、服务端AscNetTJ,可能需要右键exe管理员运行,避免输入t后闪退,服务器端cmd窗口需要放着不能关闭,网络连接不上可能就是AscNetTJ服务端没有开启挂载,AscNetTJ 配置文件默认已经可以,不需要修改为原版、进去后解锁角色需要在世界频道输入指令,指令开头需要加上 /,比如 /item set all才能生效,如果有提示引导默认不管,快速多次点击鼠标 右上角弹出红色警告 点击一下可以跳过引导,最后没想到Google上找到了这篇文章,真是太强了666,好久没有玩计算机常识都忘了OωO
想问老哥怎么解决的AscNetPGRLauncher游戏文件校验错误的问题,我使用的游戏版本是CN2.12
CN 选择 2.12 版本 也能私服吗?
本地能进 就是不知为什么用不了道具,角色也是一级升不了级….还是不够知识
正常现象
魔改仓库点进去怎么什么都没有
登录验证失败
我也是
up我从123下的端,按照说明打完后除了开头的协议有中文进去后全是英文,能问一下在哪里设置成中文吗QAQ
为什么总是显示网络错误?
大佬没有中文包可以打吗
我的端不是提供中英双语了?
额,游戏设置里没有找到中文…怎么改呢
怎么设置中文
我的端是中英双语的…
大家可能问的是游戏内中文吧OωO
厉害啊 战双都有