iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > JAVA >【Genshin私服】Grasscutter部署全流程
  • 710
分享到

【Genshin私服】Grasscutter部署全流程

mongodbjava游戏程序ubuntu 2023-09-02 11:09:35 710人浏览 独家记忆
摘要

前言 本文写于3.0时期,内容具有时效性,但方法通用 注意!! 本教程是给具有一定电脑操作能力的人使用,如果你单纯只是想玩私服,并不会使用电脑等工具来自行安装,那么你可以私聊本人,我会提供已经编译好私服文件的虚拟机和远程协助(

前言

本文写于3.0时期,内容具有时效性,但方法通用

注意!! 本教程是给具有一定电脑操作能力的人使用,如果你单纯只是想玩私服,并不会使用电脑等工具来自行安装,那么你可以私聊本人,我会提供已经编译好私服文件的虚拟机和远程协助(有偿,远程协助需要协商时间) 要说明的是,虽然文件内容都是开源,但是官网的说明文档十分贫瘠且没有详尽的报错说明,本人提供有偿服务也只是防止泛滥传播

我们来介绍一下原神私服工具grasscutter的安装和部署,网上的攻略也有不少,但是有的问题并没有解决或者已经停止更新,对于一个时常更新的游戏来说过期的攻略等同于无效。

本文是基于 【本机使用grasscutter作为服务器+本机作为客户端】 的基础上的进一步实现 【局域网内原神私服联机】 但未做联机测试,原理上是可以进行的(客户端和服务端已经分离并且能在局域网互联)

先贴工具连接:

grasscutter


https://GitHub.com/Grasscutters/Grasscutter

使用实例视频 发布于本教程前

服务端部署环境需求(这是官网的要求):

  • 系统:windows 10 或Windows Server2016以上(保险,但理论上只要系统高于Windows7即可)

  • Java环境:jdk17 推荐17,并非17及以上,非17版本本人未做过测试,可以自行尝试

  • python环境:mitmproxy可以通过执行Python脚本的方式来代理流量,在grasscutter官网的文件中有提供代理脚本,python版本在3.6-3.9之间即可(推荐3.8或3.9)

  • mongoDB数据库:高于4.0 (推荐5.0版本以上,6.0也可)

  • proxy 代理:mitmproxy即可,后面会贴链接

简述原理:

总共分两个,客户端和服务端。

服务端要做的就是运行开源的grasscutter包的jar核心文件来启动私服,私服使用MonGoDB来存储用户数据,mitmproxy来代理流量,将客户端发来的流量等代理到服务器文件上。

客户端要做的就是安装patch插件(原神在2.8版本后更新了一个小脚本,会检测客户端数据请求的url,如果不是米忽悠的域名,那么就会报错4214),使用第三方启动器来在客户端代理流量,将原本请求到原神官方url的请求转发到设定好的(私服)的位置去。

部署服务端

首先完成好前置要求的安装过程

前置需求


我们需要安装如下程序,360驱动(修复潜在的dll文件缺失,可选)360压缩(如有其他可以不装)Firefox(浏览器而已,选装)jdk17(建议使用提供的版本)mitmproxy8.1.1(必装)MongoDB(选msi的,官网下载的zip格式的需要自己手动部署,更麻烦)navicat15(可选,这是MongoDB的数据库查看工具,安装MongoDB数据库本身会自带一个,可以不装)python3.9(必装)sublime(文本编辑器,选装,你可以用系统自带的记事本)

安装所需环境

有视频,不多做赘述

视频连接 :Https://www.bilibili.com/video/BV1jd4y1i7Je/ (目前已寄,后续可能补档)

开始下载服务器核心文件

下载好后如下所示,全部保留,然后将 release 位置的发行版文件同样下载,它是jar结尾的文件

将这个文件同样放到刚才下载好并且解压了的文件夹内

genshinRunTime是我自己取的名字,你随意(别使用中文路径)


然后我们可以试运行,在文件夹内打开cmd命令行

cmd

报错

看报错信息


发现是找不到MongoDB和proxy的文件目录,这个问题如果你环境部署的有问题,会时常困扰着你,不好解决(本人也是被这个搞了很久)

解决方法:看源码

启动文件


我们可以看到,一个是私服作者给的一键启动脚本,另一个是它的配置文件,我们使用sublime看一下配置文件(start_config.cmd)的源码

::注释


注释前的文字是他原来的,注释后的是我给出的指定目录

这里set xxxx_PATH= 的意思就是设定所需文件的目录,就是依赖的数据库和代理软件

我们修改成%xxxxx% (这里%xxxx%是环境变量的表示方法,例如%JAVA_HOME%)

去修改环境变量


打开系统,高级系统设置中去修改环境变量

修改环境变量


添加两个变量 MDB_HOME 和 MITMDUMP_HOME 值选择它的安装路径(你自己的)

改成你自己的!

改成你自己的!


使用 【浏览目录(D)…】能直接选择

选择好后我们还需要配置resource文件(服务器的文件核心,决定游戏版本的数据)

Grasscutter资源文件官方项目地址:https://github.com/tamilpp25/Grasscutter_Resources

同理下载好后,放到文件夹内

proto文件存疑,在2.8版本时我看的教程上说这个也要,但是在新版本后GitHub官方给出的文件内已经不存在这个文件夹了

还有代理证书文件 注意一下是否存在(可能会影响) 如果没有请核验你下载的源码和官方给出的文件是否一致

核验MongoDB是否运行

win+R键 打开运行 输入services.msc查看

查看MongoDB


找到MongoDB服务,如果显示为正在运行,那没事了

自此,理论来说你的私服前置需求应该满足,如果还是出现未检测到MongoDB和proxy代理程序,那么请自行排障

这边是官方给出的过程

这边并没有使用一键启动start.bat脚本,但是也行,这样需要自行启动代理程序和MongoDB

正常运行示范

为了解决前面的问题我也研究了很久,为了写教程就用了快照恢复到这里,实际部署的话已经不想再经历那段痛苦了……


附:

这边提供一个MongoDB的脚本 用于在一个自定义位置启动MongoDB来作为数据库存储位置

mongod --dbpath "C:\Users\GServer\Desktop\genshinRuntime\mongoDB"

当时研究了下,修改了一键启动脚本里MongoDB的启动位置

自建MongoDB文件夹,在里面呼起cmd,输入脚本

这个的原理应该是启用本地文件夹作为MongoDB的数据库文件存放位置,同时在cmd内启动器来MongoDB


以上仅为个人尝试,以前本人安装私服时(大概2.8版本的时候)并没有如上流程,自行尝试

放行防火墙(可选):

如果你和我一样,是部署在局域网上的服务器,那么这一步你必须得走,否则哪怕和客户端在同一子网,仍无法访问

以下是官网给出的方法:

Make sure to setup your operating system firewall settings 1.Windows: Make Sure To Allow Their Port On Windows Firewall Settings (80,443,8888, And 22102)
linux: Make Sure To Write sudo ufw allow 22102 , sudo ufw allow 443 , sudo ufw allow 80 , And sudo ufw allow 8888 .

具体使用

放行端口即可

配置config.JSON(可选):

找到config.json


这是服务器的配置目录,如果你是客户端和服务端分离,那么这一步也尤为重要

修改ip

注意这里是改成自己服务器的ip地址


这样修改后就能允许子网内的其他ip访问,如果你是仅自己机器上(服务器和客户端同时运行在本机),那么不需要过多地更改即可

如果运行start.bat能成功显示出内容(服务器已成功运行balabala~),那么你就可以走到下一步,使用原神客户端来进行访问了

部署客户端

如果能走到这一步,那么你要解决的问题就很少了

  1. 下载原神国际服(建议使用国际服,国服的游戏文件不改动,你还可以正常访问国服的正版服)

  2. 使用提供的破解文件patch游戏文件

  3. 使用第三方启动器 grassclipper https://github.com/Grasscutters/GrassClipper

原神国际服下载完成后先不要使用第三方启动器来链接私服,先链接正版服务器更新游戏文件,可以不注册登录,能正常显示就行

使用 破解文件 替换客户端原有的dll文件

网上找的,就不引流了


你可以到genkit百科里自行寻找 https://mihoyo-is-in.icu/

我这边也都提供了,可以私信我 (私人云盘寄了,原因可见前言)

替换这个即可,我以前做2.8版本私服的时候那时候需要替换两个文件夹,这个做的更精简了


当然,错误的补丁可能会导致游戏启动崩溃,无法正常启动等,这个就是需要你去到网上寻找资源了

最后是第三方启动器,这里我提供两个,一个是grassclipper,另一个则是官方网址上给出的Cultivation(照理来说这个应该能行,但是作者本人电脑使用报错了,启动不了)

Cultivation地址 https://github.com/Grasscutters/Cultivation

官方解释


如果使用cultivation的话应该是可以不修改客户端文件了,但是本人使用的时候遇到点问题,就弃用了(你可以试试,我推荐使用这个)

grassclipper的使用建议如下

创建一个快捷方式


下载完grassclipper文件后,在exe那个程序上右键,新建快捷方式,后修改快捷方式最后目标一栏,添加 –mode=chrome 这样就能使用chrome方式启动软件(不知道为什么要这样,但是这样最稳定),如果你并没有安装chrome浏览器,可以试试不加(应该也没问题,具体看官方给出的文档)

部署好的启动样子


你的一打开肯定是英文版,自行修改成中文

要注意的两点


注意!需要安装一下代理程序,点击install即可下载(全自动,下载的代理就是之前服务端也用到的mitmproxy)

全部完成后基本可以正常运行了,如果还遇到问题,请看下面的问题一览(本文有些漏讲了的也写在里面了,推荐看一下)

常见问题

HTTPS并不能连接成功:

这是因为代理证书未安装,

前往服务端的 设置-网络-代理-手动设置代理 ,设置为 127.0.0.1:54321 后,使用浏览器访问 http://mitm.it 并选择相应证书下载,此证书需要下发给客户端所在机器安装,注意服务器 IP 更换后需要重新下载安装证书

如果服务端和游戏都跑在本机,不用手动安装证书,代理会自动安装

注意:这一步服务端开启代理只是为了便于下载证书 (当然你也可以直接去这里复制 %USERPROFILE%.mitmproxy\mitmproxy-ca-cert.cer ),下载完后请关闭服务端的系统代理,否则无法正常连接服务端

这是作者本人查到的,但是有更简便的方法,直接在服务器端打开浏览器,访问http://mitm.it

选择你系统的版本就行


我们是Windows,所以直接选择Windows那个绿色的按钮就行

下载好的证书


复制到桌面(如果你服务端和客户端未分离,那么直接双击就行),安装证书即可(一路确定)

注意选择(本地计算机)


完了一路下一步就行

服务端报错:

自行鉴别,如果是Java报错,那么可能性有很多,但不排除本身你下载的release文件他自己代码写错了(本人就遇到过,后来自己改了下代码打包成jar文件)

端口占用: 

一般显示为 address already in use : bind 这个问题需要自己去把占用的端口找出来,然后禁用,这边给个百度的结果好了 https://www.PHP.cn/faq/467525.html 【端口被占用怎么解决】

连接服务器错误:

   报错4206:

代理未正确配置,检查好代理是否正常运行,查看查看代理窗口的报错内容(需要一定能力)

开启代理后运行游戏,检查服务端和代理的日志,如果代理中

没有 mihoyo.com / hoyoverse.com 子域的请求或者没刷新任何日志,则为客户端代理配置错误

有 mihoyo.com / hoyoverse.com 子域的请求,但报 TLS handshake failed,则为客户端未安装对应服务端的证书,或服务端不能连接到相应域名

有 mihoyo.com / hoyoverse.com 子域的请求,但报拒绝连接等错误,可能是服务端网络问题导致无法连接米哈游服务器

报错4214:

服务器版本和客户端版本不一致(比如你服务器是3.0的你客户端却更新到了3.1)   客户端并未安装补丁,错误的域名指向导致程序自行报错(米忽悠在2.8版本修改了客户端的规则,防私服用的)

报错4201:

证书错误,一般是服务端那个keystore.p12文件出错了,但也不应该啊(本人没遇到过)

一切都成功后进门白屏,不显示:MongoDB的锅,你确定好是否开启了该服务,或者Java的锅,你确定好版本(也许你重来一遍又遇到了别的问题,那就是别的问题引起的)

报错502,4301,无法连接服务器: 

你的问题,重新来过试试,检查好服务端

写在最后:

本文其实写的并不是很好,很多问题和过程都省略了,因为配置和环境这东西千人千面,你很难把握好,况且本人的技术并非多么高超,无法把全部过程和问题写清楚,讲明白。只是把自己安装的过程中踩过的坑,遇到过的问题简单说一下,网上相关的帖子也有不少,说的也都比我好,我会贴在下面,可以自己去看。开源分享者也分享过自己的一键整合包,如果感兴趣可以自己去试试,我还是比较依赖GitHub上所分享的,哪怕并不那么完美。

如果你仅仅是想玩私服的内容,那么你可以去找找更好的懒人包或者什么的,或者联系我我会发你我自己做好的服务器文件打包(有偿)。但是我搞私服的目的更多的不是什么想去玩私服,只是在享受折腾的这个过程罢了,哪怕很痛苦,哪怕没有结果(之前陆续搞了两个多月也没成,国庆期间有空了才解决问题)。

相关链接分享:

Grasscutter官方项目地址:https://github.com/Grasscutters/Grasscutter

Grasscutter资源文件官方项目地址:https://github.com/tamilpp25/Grasscutter_Resources

Grasscutter官方说明文档地址:https://mihoyo-is-in.icu/ 

茶靡博客:https://blog.tomys.top/2022-04/genshintj/ (不少内容参考了该作者写的,包括安装的时候也是看着他的来做,当然也参考了别人的,每个人每种方法,不能说绝对是最好的,只能自己看合不合适)

虚冇的避风港:https://memorz.top/arcHives/112 (当时看着教程做的,但自己搞还是有些差别)

如果能看到这里,那么感谢你的支持,如果我写的内容和我分享的能帮到你,那么请你给我的视频点赞三连支持下好不好捏

视频介绍:https://www.bilibili.com/video/BV1Me411T7rR (目前已寄,后续可能补档)


后续应该还会再做,但是没有像国庆这种大假了……

另外分享下本人博客:https://blog.yanqi7.top 同时欢迎关注我的微信公众号:魇亓de札记,内容同步更新

个人微信公众号:魇亓de札记 (新鲜内容一手掌握)

 

来源地址:https://blog.csdn.net/weixin_56170314/article/details/127694624

--结束END--

本文标题: 【Genshin私服】Grasscutter部署全流程

本文链接: https://www.lsjlt.com/news/390619.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 【Genshin私服】Grasscutter部署全流程
    前言 本文写于3.0时期,内容具有时效性,但方法通用 注意!! 本教程是给具有一定电脑操作能力的人使用,如果你单纯只是想玩私服,并不会使用电脑等工具来自行安装,那么你可以私聊本人,我会提供已经编译好私服文件的虚拟机和远程协助(...
    99+
    2023-09-02
    mongodb java 游戏程序 ubuntu
  • 私有云服务器部署流程
    私有云服务器部署是指在云端将您的数据、应用程序和服务部署到互联网上的服务。以下是一个基本的云服务器部署流程的描述: 选择云计算平台 在选择云计算平台时,您可以考虑几个因素,例如可用性、可靠性、安全性和性能。可以通过访问云计算平台官方网...
    99+
    2023-10-26
    流程 服务器
  • 私有云服务器部署流程是什么
    私有云服务器部署流程如下: 确定云服务器的类型和配置:选择适合您的业务应用场景和需要的云服务器配置。 配置云服务器和应用:根据您选择的云服务器类型和配置,准备云服务器的软件和配置文件。 将数据存储到云服务器中:将您的应用程序和数据分发到...
    99+
    2023-10-27
    流程 服务器
  • 私有云服务器部署流程是什么意思
    私有云部署流程可以分为以下几个步骤: 选择合适的云服务供应商 首先,需要选择一家信誉良好、技术先进、能够提供完整的云计算解决方案的云服务供应商。这可以通过多家比较,以便选择最适合企业需求的云服务供应商。 准备云计算环境 在选择云服...
    99+
    2023-10-27
    流程 服务器
  • 私有云服务器部署流程是什么样的
    在私有云环境中,用户可以利用企业或个人所拥有的服务器资源,包括硬件、软件、数据存储等,以实现更加高效的数据存储、处理和分析。同时,私有云还具有更加灵活的部署和管理方式,可以满足不同用户的需求和使用习惯。 在部署私有云时,用户需要考虑以下几...
    99+
    2023-10-27
    流程 服务器
  • 私有云服务器部署
    私有云服务器部署通常涉及将数据中心的资源和服务部署到云端。在这种情况下,部署私有云服务器的过程相对简单,可以在几个步骤下完成。 以下是几个步骤: 选择云服务提供商:选择一家可以提供云计算服务的提供商,例如AWS、Amazon Web S...
    99+
    2023-10-26
    服务器
  • RuoYi-Vue部署服务器流程
    本文以腾讯云服务器+宝塔面板为例子,介绍RuoYi-Vue分离版本的服务器部署流程,如在部署过程中遇到问题或有什么好的建议,欢迎在评论区留言 目录 1、服务器环境配置 2、vue项目打包 2.1、前端项目打包 2.2、打包文件路径配置...
    99+
    2023-09-29
    服务器 运维 linux
  • 云服务器私有化部署
    云服务器私有化部署通常需要采取私有云或者公有云的方式进行部署。私有云是指在云服务器的基础架构中不包括存储和数据服务器,只提供基础资源,客户可以通过租用或购买的方式将其部署到云服务器中。 私有云可以通过使用公有云服务提供商提供的私有云管理平...
    99+
    2023-10-27
    服务器
  • Vue中的项目打包及部署全流程
    目录一、打包遇到的第一个问题问题二:文件找不到二、服务器部署1、解压2、用法3、Vue项目build后4、配置nginx正式开始将项目推送到自己服务器上CentOS操作系统的部署一、...
    99+
    2022-11-13
    Vue项目打包 Vue项目打包部署 Vue 打包部署
  • moss部署全过程
    Moss(Measure of Software Similarity)是一种常用的代码相似度检测工具,以下是Moss的部署全过程:...
    99+
    2023-09-15
    moss
  • 申请云服务器部署流程
    确定服务器的位置:需要根据公司的业务需求,确定服务器的位置,例如数据库服务器、网络设备和应用服务器等。 准备必要的技术知识:需要掌握服务器相关的技术,例如网络技术、数据库、安全技术等,以便能够进行服务器的部署和维护。 选择服务器:需要选择...
    99+
    2023-10-26
    流程 服务器
  • 私有云服务器部署失败
    私有云服务器部署失败是一种常见的故障,可能是由于以下原因之一: 配置错误:配置错误导致服务器无法正常启动,可能会影响服务的运行。 网络连接问题:如果云服务器位于公共互联网上,网络连接可能会出现问题,导致服务无法正常运行。 安全漏洞:某些...
    99+
    2023-10-26
    服务器
  • 微信小程序部署流程
    🐼🐼🐼微信小程序前端、后端(Java)部署流程 文章目录 服务器域名 和 ssl 证书申请域名解析域名域名备案购买证书配置NGINX ...
    99+
    2023-09-09
    微信小程序 服务器 ssl
  • Assembly部署流程是什么
    Assembly部署流程是指将开发好的程序代码和相关资源文件部署到目标环境中,使其可以运行和执行的一系列步骤。一般的Assembly...
    99+
    2023-10-22
    Assembly
  • 钉钉私有化部署服务器
    1. 什么是钉钉私有化部署服务器? 钉钉私有化部署服务器是一种企业级通讯工具,它可以帮助企业建立一个安全、高效、可靠的内部通讯平台。与公共云服务不同,钉钉私有化部署服务器是一种自主部署的解决方案,可以在企业内部的服务器上进行部署,从而实现...
    99+
    2023-10-27
    服务器
  • 阿里云部署服务器流程图
    本文将详细解释如何在阿里云上部署服务器,包括创建阿里云账号、选择实例类型和配置、购买服务器、设置安全组、安装操作系统、配置网络环境等步骤。文章将采用流程图的形式清晰地展示整个过程,方便读者理解和操作。 一、创建阿里云账号在阿里云官网首页,点...
    99+
    2024-01-25
    阿里 流程图 服务器
  • 最全openstack部署教程
    简单讲讲这个鬼东西 简单点来说就是一个云,一个属于自己的云平台,openstack的原版是亚马逊云,可以说openstack就是Rackspace和NASA的抄袭产物。 官方点说一个云平台管理的项目,它不是一个软件。这个项目由几个主要的组件...
    99+
    2023-08-18
    openstack 网络 服务器
  • openstack部署流程是什么
    OpenStack部署流程一般包括以下步骤: 确定部署环境:选择合适的硬件设备和网络配置,确保满足OpenStack的最低要求。...
    99+
    2023-10-25
    openstack
  • 悟空CRM11.0 PHP版本docker容器化部署全流程
    由于本地服务器为PHP5.3,项目部署需要PHP >= 7.0.*,所以选择docker容器化部署,服务器系统为centos7.3,所有的sql文件都在项目路径 public/sql下 目录 一.直接部署,不部署前端开发环境 二.部署前端开...
    99+
    2023-08-31
    php 运维 vue nginx docker
  • Nuxt.js 部署的奥秘:揭开部署流程的秘密
    Nuxt.js 是一个基于 Vue.js 的通用框架,它可以创建高性能、基于服务器的应用程序。部署 Nuxt.js 应用程序可能是一项艰巨的任务,尤其是对于初学者而言。本文旨在揭开 Nuxt.js 部署流程的秘密,引导您顺利地将应用程序...
    99+
    2024-03-06
    Nuxt.js、部署、生产环境、云服务器、版本控制
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作