近期在Github上看到一个原神私服搭建教程,为了能在IOS手机上进入私服研究了一天,现记录一下实现过程。
此文档中所用到的文件均可在 阿里云盘 下载,网页访问速度较慢,但下载速度很快,使用的阿里云盘。
ys_sf.zip内文件说明:
./install_exe 里面为环境软件,jdk和python,不会安装自行百度
./data/Banners.json 为卡池配置文件
./data/Shop.json 蒙德百货商店配置文件(里面有注释)
本服务端支持 PC/iOS 端中国官服 / 国际服,Android 未知,未经测试无安卓设备
部署服务端
环境要求
Windows x64 (建议 WS2016 + 最低 WS2012R2,过老版本不保证兼容性)
Python3.8+(install_exe有安装包,自行安装)
Java17 (install_exe有安装包,自行安装)
MongoDB (压缩包带有绿色版本)
Mitmproxy (压缩包带有绿色版本)
7-zip 用于解压极限压缩的服务端(自行下载)
如需搭建公网私服,则还需确保服务端端口 UDP22102 TCP443 TCP54321 均开启且未被其他程序占用(不知道开启自行百度服务商防火墙配置教程)
运行服务器
启动服务端
解压ys_sf.zip:
按照顺序,依次打开:
1.MongoDB.bat
2.run.bat
输出:Game Server started on port 22102 字样即为启动成功,有报错请参照本文档最后一章处理
3.proxy.bat(如果只要本地运行,这个可以不用打开,但是需要下载启动器))
连接私服
针对本地私服连接
打开Cultivation.exe
PS:启动器支持中文,想设置成中文的可以点右上角设置,language 选择 中文 就行。
设置里面设置游戏目录,勾选以Grasscutter模式连接,启动即可。
针对公网私服连接
运行 3.proxy.bat
出现 Proxy server listening at http://*:54321 即为启动成功
注意,如果您的服务器性能过低,此代理程序可能会假死,手动重启即可
在此之前你需要在config.json
设置域名以及ssl证书,我ios一直卡4206就是这个原因。设置好后再启动服务端!!!
获取ssl证书
我的域名是在腾讯云买的,在腾讯云申请免费ssl证书,下载pfx证书文件即可。ys.my-youth.cn.pfx
为证书,密码在keystorePass.txt
里面
然后修改配置文件
修改配置文件
GameServer.Ip DispatchServer.Ip 为准入 IP,建议保持 0.0.0.0
GameServer.PublicIp DispatchServer.PublicIp 为 公网/内网IP (取决于你在公网 / 内网联机),改为 127.0.0.1 即只允许本机连接
GameServer.Name 为你的服务器名称
GameServer.WelcomeEmotes 为进入游戏的欢迎表情 id
GameServer.WelcomeMotd 为进入游戏的欢迎语
GameServer.WelcomeMailContent 为进入游戏的欢迎邮件
GameServer.WelcomeMailItems 为进入游戏时的欢迎邮件赠送的物品 (数组),成员有物品 id itemId 数量 itemCount 等级 itemLevel
GameServer.ServerNickname GameServer.ServerAvatarId 为游戏控制台的名字和头像 (长的角色 id)
DispatchServer.defaultPermissions 为用户默认拥有的权限 (注意是数组),目前版本主要有 server player 两个权限组,建议只给后者
DispatchServer.AutomaticallyCreateAccounts 默认为 false ,如修改为 true ,则允许登陆不存在的账号时自动创建 (不建议)
DispatchServer.KeystorePath 为证书文件名字
DispatchServer.KeystorePassword 为证书密码
修改好后需启动服务端!!!
修改代理配置文件
proxy_config.py:REMOTE_HOST = "localhost"//localhost改为自己的域名
修改好后需启动服务端!!!
PC连接私服
参考
针对本地私服连接
,修改ip和端口就可以了
我使用的是Clash
进行代理连接。1. 点击配置,导入配置文件(文件中server需修改你服务器公网ip
)首次连接需要安装证书2. 代理选择规则(不要全局代理)然后在常规,连接系统代理3. 打开http://mitm.it 并选择相应证书下载并双击打开相应服务器的证书 -> 安装证书 -> 本地计算机 -> 放入下列…-> 浏览 -> 受信任的根证书颁发机构 -> 完成4. 安装你的域名ssl证书到电脑步骤同上
(不知道要不要安装,反正我是安装了,密码在keystorePass.txt里面)
如果使用的是国服客户端
,启动后有弹窗 (Win和iOS) 且登录页面标题为HOYOVERSE
而不是 miHoYo 即代表成功连接私服;
IOS连接私服
我使用的是小火箭(Shadowrocket)
进行代理连接。1. 新建一个节点2. 类型填HTTPS3. 地址填你服务器公网ip
,不要填域名4. 端口54321(3.proxy.bat,运行输出的端口)5. 导入配置文件,全局路由选择该配置,连接。6. 打开http://mitm.it 并选择相应证书下载,安装,在关于本机信任该证书7. 安装你的域名ssl证书到手机步骤同上
(不知道要不要安装,反正我是安装了,密码在keystorePass.txt里面)
如果使用的是国服客户端
,启动后有弹窗 (Win和iOS) 且登录页面标题为HOYOVERSE
而不是 miHoYo 即代表成功连接私服;
基本指令
账号注册:
在黄色的控制台窗口输入:
account create 账号 UID
如:account create Young 1024
登陆的时候密码随便输入即可登陆成功。其他指令
和物品id
见配置文件里面的txt文件。
自己封装一键包
1、Grasscutter下载Source code(zip),解压,把Grasscutter-1.4.3\src\main\resources\defaults\data文件夹复制到私服根目录,proxy.py、proxy_config.py两个文件也复制到根目录,在下载Grasscutter里的grasscutter-1.4.3.jar改名grasscutter.jar放到根目录。
2、私服根目录新建文件夹:resources,下载Grasscutter_Resources,解压,打开Resources文件夹,复制里面的文件到私服根目录的resources里面
3、mitmproxy、MongoDB、MongoDB.bat、run.bat、proxy.bat可以复制一键包里面的
更新服务端
自行按照
自己封装一键包
的教程来获取grasscutter.jar、resources、data就行了,把config.json删除,打开run.bat会自己生成一个默认的最新的config.json,建议先备份config.json
常见问题
如有问题请在下方评论回复,看到遇到的会回复,不会的就只能自行百度了。
4214
密钥错误,原因 没有 patch 客户端 / 客户端 patch 错误 / 客户端与服务端不兼容
版权声明
本私服端基于开源项目 Grasscutter 、Grasscutter_Resources,请不要乱提 issue