环境搭建|Grasscutters 2.8私服搭建

参考链接
https://github.com/Grasscutters
https://github.com/Grasscutters/Grasscutter/wiki/ 73720
https://github.com/Grasscutters/Grasscutter/issues/1502‘
https://blog.csdn.net/heavenmark/article/details/90200597

文章目录
  • 前言
  • 一. 环境要求
  • 二. 后端搭建
  • 三. 生成命令手册(含物品ID)
  • 四. 游戏配置
  • 五. 代理配置
    • 手动配置(和启动器配置选一个就行)
      • HTTPS模式
      • HTTP模式
      • 系统配置
      • 确认代理是否配置成功
    • 启动器配置(推荐)
  • 六: 运行效果
  • 七: QA常见问题

前言 零虚幻基础跑一个cesium的实示例项目报错了,试图百度一下解决啊,然后发现某游戏可以搭私服??直接放下手头活直接去找相关资源,简单记录一下

大致原理就是代理游戏客户端给米某游的请求到自己的私服
一. 环境要求
  • JDK17
  • MongoDB 6.0 (推荐 4.0+)
二. 后端搭建
https://github.com/Grasscutters/Grasscutter/wiki/Running
  • 确认端口 80,443,8888, 22102 未被占用
  • 下载打包好的资源 [https://github.com/Grasscutters/Grasscutter/releases]
    (2022.7.22记: 该包版本为2.7),最新的的2.8在开发中(开发版经简单游玩也没啥问题),所以需要自行编译,后续稳定包出来了可直接下载稳定包使用 项目链接
    也可以下载我打包好的2.8Jar包, 密码8888 (本来直接上传csdn的,结果要两天审核…
    当然,你的版本是2.7的话也就可以直接用官方发布的稳定包了,不会有玩家到这时版本还不是最新的吧 , 跳过编译步骤
    环境搭建|Grasscutters 2.8私服搭建
    文章图片

  • 获取最新的项目,具体如上图所示
  • 进入项目根目录下运行
gradlew.bat # 配置环境 gradlew jar # 编译生成jar包 (初次编译可能很慢啊,慢慢等就行)

  • 执行完命令行后会在项目跟目录生成一个jar,具体名字取决于版本,比如我的就是 grasscutter-1.2.3-dev.jar,(我改成grasscutter.jar衔接后文啊)

  • 新建个目录(下文以deploy为例),grasscutter.jar放进去(当然直接在项目根目录跑也行)
  • 进入deploy目录下运行 java -jar grasscutter.jar
    此操作将会在该目录下创建多个文件 ,最后效果如图所示 WARN忽略就行
    环境搭建|Grasscutters 2.8私服搭建
    文章图片

  • 下载 resources , 将里面resources下的文件都放到deploy/resources 下面
    环境搭建|Grasscutters 2.8私服搭建
    文章图片

  • 再次执行java -jar grasscutter.jar
  • 提示输入时 输入zhs表示使用简体中文
    出现游戏服务器已在端口 22102上启动即为成功, 如下!
    环境搭建|Grasscutters 2.8私服搭建
    文章图片

三. 生成命令手册(含物品ID)
java -jar grasscutter.jar -handbook

启动过服务器可以一般直接生成了,如果先运行的这条命令可能会提示mapping,js找不到什么的,无视再次输入chs即可
环境搭建|Grasscutters 2.8私服搭建
文章图片

四. 游戏配置 目前支持2.8还是需要打个补丁的
游戏安装目录/Genshin Impact Game/YuanShen_Data/Managed/Metadata/global-metadata.dat
下载https://github.com/577fkj/GenshinProxy/files/9107927/default.zip替换global-metadata.dat, 此操作建议备份global-metadata.dat数据,如果还玩官服怕被封的话可以主动备份回来 ,
注意: 如果后续登录官服补丁会被替换掉
五. 代理配置 deploy根目录添加keystore.p12再启动即为HTTPS模式,反之会降级为HTTP模式,具体是啥在启动的时候就知道了
使用哪种模式取决于你服务器支持的协议,本地的话当然都行
环境搭建|Grasscutters 2.8私服搭建
文章图片

手动配置(和启动器配置选一个就行) 用启动器自动设置代理
可以配置Host文件或者使用其他的代理工具,这里以Fiddler 为例
HTTPS模式
  • 下载运行
  • Tools -> Options -> HTTPS (HTTP模式可忽略此步骤)
    • 勾选Decrypt HTTPS CONNECTS 和 Ignore Server certificate errors(unsafe)
    • 左侧 Actions -> Trust Root Certicate,Yes即可环境搭建|Grasscutters 2.8私服搭建
      文章图片
  • Tools -> Options -> Connections
    • 端口改成其他未被占用的就行,默认的8888私服就占了所以不行啊 环境搭建|Grasscutters 2.8私服搭建
      文章图片
  • 打开FidderScript 加载 fiddlerscript, 然后SaveScript
    环境搭建|Grasscutters 2.8私服搭建
    文章图片

    至此fiddler配置完成!!! 点击进入系统配置
HTTP模式
同HTTPS模式类似,就是可以省略HTTPS配置的第一步,然后把脚本中 oS.host=“localhost” 改为 oS.fullUrl = “http://127.0.0.1:443” + oS.PathAndQuery 即可
环境搭建|Grasscutters 2.8私服搭建
文章图片

下面 启动器也会使用HTTP模式
系统配置
  • 设置 -> 网络和Internet -> 代理
    • 手动设置代理编辑 http=127.0.0.1:8889; https=127.0.0.1:8889 8889为上面fiddler的端口环境搭建|Grasscutters 2.8私服搭建
      文章图片

      注: 一般Fiddler配置完成系统代理就自动设置好了,检查确认一下就行
确认代理是否配置成功
访问account.mihoyo.com,链接左侧锁图标不报错, 并且内容如图所示即为配置成功
环境搭建|Grasscutters 2.8私服搭建
文章图片

启动器配置(推荐)
用启动器就不用自己配置代理了, 这个启动器说是自动打补丁但是我没感觉没有效果啊,还是得按上面配置打个补丁才好
注:启动器配置需要用HTTP模式,我试了下HTTPS模式不知道为什么成功不了,用启动器的话直接用HTTP模式吧
  • 资源下载 https://github.com/Grasscutters/Cultivation/releases
  • 解压后直接运行 Cultivation.exe
  • 右上设置Set Game Install Path设置为游戏安装目录下的launcher.exe(其他无视), 绑定jar包后可以点Launch右边按钮启动服务,不然手动也行
  • 运行即可,启动游戏自动设置代理,退出了会自动清除代理,

    运行游戏后可按照此处检查代理是否正常
六: 运行效果 给UID为10000的玩家全满级(lv)满命座(c6) 全武器满精炼(r5) 全物品示例 g @10000 all lv90 r5 x10 c6
环境搭建|Grasscutters 2.8私服搭建
文章图片


【环境搭建|Grasscutters 2.8私服搭建】命令有时候没注意就麻烦了,就比如我之前give all没注意补参数给了很多1级的角色(简单尝试了下没有重新给角色的相关命令),建议直接改数据库,数据库改完后需要重新登录生效,数据库示例 ,
https://github.com/Grasscutters/Grasscutter/wiki/Resources
环境搭建|Grasscutters 2.8私服搭建
文章图片



七: QA常见问题
  • 编译时出现无效的源发行版本:17
    • 检查jdk版本,命令行输入java -version可进行验证
  • 登录成功但是一直4216报错
    • 检查客户端和服务器版本是否一致
    • 检查是否给原神打补丁了
  • 系统错误,请稍后再试
    这种基本是代理配置的有问题
    • 使用启动器代理: http模式启动的勾选Use HTTPS也会出现这种问题,取消勾选即可
    • 自己配置的代理: 按照此处检查
  • 网络超时
    • 同上系统错误
  • 4201
    • 同上系统错误
  • 启动器打不开, 使用CMD执行后出现如下错误
    环境搭建|Grasscutters 2.8私服搭建
    文章图片

    尝试安装webview2解决
  • 7.24下午想玩一会儿,我后端以HTTPS模式启动了但是不知道为啥貌似还是HTTP模式…
    环境搭建|Grasscutters 2.8私服搭建
    文章图片

    最后还是以HTTP模式配置代理解决… (只是本地倒是没啥事,后续解决了再补充
  • 启动器点Launch会提示Could not patch game
    • 检查右上角游戏位置是否为 游戏安装目录下的launcher.exe
    • 尝试取消勾选Automatically Patch Metadata

    推荐阅读