本文已过时,请前往 原神私服游玩教程 查看最新文章
本文仅供学习交流,严禁用于商业用途,侵权联系或评论我删除
解压密码均为:rainkavik.com
本文使用的是3.2的服务端进行搭建示范,以下所有文件都能在我的个人网盘找到。
如果你是小白,请在进行环境安装之前,重启一次电脑,把后台奇奇怪怪的软件关掉(新服务器忽略)。
关于本机和服务器的区别,我会在文章之中注明区别(没有标注的都需要操作),请关注好每一个字。
碰到问题请转到 Grasscutter-常见问题
1.修改客户端文件
下载补丁:RainKavik网盘/客户端/3.x-x服-UserAssembly.zip
解压后得到 UserAssembly.dll
打开官服路径:Genshin Impact Game\YuanShen_Data\Native
官服路径下自带一个 UserAssembly.dll
把他重命名为:UserAssembly-官服.dll
重命名的目的是为了备份 没有官服游玩需求可以直接覆盖
把补丁包里面解压的 UserAssembly.dll放到此路径
2.下载代理:RainKavik网盘\代理软件\mhy代理转向
下载完成 解压 以管理员方式打开mhy代理转向
下面地址输入进去
gc.rainkavik.com:320
下方代理端口留空!!!!!!!!!
进入游戏后记得关闭代理,否则电脑会出现无网络情况,服务器压力也大~!
指令搭配Tools指令箱使用 下载路径:网盘\其他\GrasscutterTools-v1.6.6.exe
服务端安装
安装环境:
下载安装jdk和mongodb:
文件下载路径:RainKavik网盘/环境
完整文件名:jdk-17.0.2_windows-x64_bin.exe
完整文件名:mongodb-windows-x86_64-5.0.8-(仅限win10及以上使用).msi
1.网盘路径下有两个 mongodb
,根据自己的系统版本下载对应版本。
2.如果你是小白,请勿更改任何设定。
服务端下载:
文件下载路径:RainKavik网盘/服务端/full-grasscutter-3.x-#####_RainKavik.zip
运行服务端:
必改:"server-accessAddress": "127.0.0.1"
必改:"game-accessAddress": "127.0.0.1"
两个 127.0.0.1
,更改为服务器公网IP或者局域网IPV4地址
IPv4地址获取:任务管理器-性能-以太网(WIFI)-右下角IPV4
修改完成切记保存关闭
运行 run.bat
显示 加载完成!输入 "help" 查看命令列表
即代表开服成功,显示其他请看常见问题。
登录你的服务器管理后台-防火墙-添加防火墙规则
TCP443
(Windows和Android免证书登录端口)
UDP22102
(游戏数据交互)
注意:有个别服务器可能还需要在系统界面防火墙放行端口。
WIN+R
打开运行,输入 wf.msc
,在入站规则选项最右侧,新建规则-端口,添加以上三个端口。
出站规则不需要更改,默认全开。
完成以上,服务端教程到此结束,接下来是客户端教程。
客户端
自行准备客户端(即你现在的官服)。
补丁安装:
RK的两个代理软件都支持自动安装和还原补丁,这里我还是用手动安装为教程。
补丁下载路径:RainKavik网盘/客户端/3.x-x服-UserAssembly.zip
下载完成解压得到:UserAssembly.dll
打开以下路径
国服:Genshin Impact Game\YuanShen_Data\Native
国际服:Genshin Impact Game\GenshinImpact_Data\Native
此目录下面有一个 UserAssembly.dll
,请把它重命名为 UserAssembly-官服.dll
,否则你将无法进入官服。
复制刚才解压得到的 UserAssembly.dll
到此目录代替原先的文件。
Native
文件夹应该有以下两个文件
Windows连接服务器:
这里一共提供多种方法,任选其一,切记所有代理软件都需要已管理员身份运行。
下载地址:网盘/代理软件/mhy代理转向.zip
地址:
127.0.0.1:443
代理端口:留空!!!!!!!!!!
地址填写说明:IP:443端口(Dispatch端口),切记使用英文符号
。
下载地址:网盘/代理软件/Genshin代理助手.zip
地址:本机搭建填写 127.0.01
服务器搭建填写 服务器公网IP
端口 443
填写完成-启动代理
客户端连接
双击打开 YuanShen.exe
或 GenshinImpact.exe
,启动客户端
在服务器 run.bat
运行窗口输入以下语法进行账户注册
语法:account create 登录账号 UID
例如:account create rainkavik 10000
返回客户端输入你注册的账号,密码可随便填
进到游戏内,立即关闭代理 :长时间代理,你流量全走服务器,你电脑和服务器都累,而且还可能会被服务商 ban 机!
补充说明:
以下两种方式都需要对应插件的支持,网盘服务端已经内置。
PC玩家请搭配 GrasscutterTools指令工具
使用
下载地址:网盘\其他\GrasscutterTools-v1.6.6.exe
手机玩家在游戏内输入/wt获得指令邮件(pc端适用)
最新版本需要使用指令点亮地图:/prop unlockmap 1
网盘内的视频教程可能已经过时,请添加频道获得安卓和pc视频
(频道只有链接服务器视频,没有搭建视频,懒癌晚期,别叫了!)
其他
{
"folderStructure": {
"resources": "./resources/", //资源
"data": "./data/", // 数据配置
"packets": "./packets/", //数据包
"scripts": "./resources/Scripts/", //资源脚本
"plugins": "./plugins/" //插件目录
},
"databaseInfo": {
"server": {
"connectionUri": "mongodb://localhost:27017", //MongDB 服务器数据库
"collection": "grasscutter" //MongDB数据表:默认grasscutter
},
"game": {
"connectionUri": "mongodb://localhost:27017", //MongDB 服务器数据库
"collection": "grasscutter" //MongDB数据表:默认grasscutter
}
},
"language": {
"language": "zh_CN", //当前本地语言chs
"fallback": "en_US", //备用回退语言en
"document": "EN" //文件语言 默认EN 可选CHS CHT 例:"document": "CHS"
},
"account": {
"autoCreate": false, //登录任意账户自动创建账户 默认关闭 开启例: "autoCreate": true,
"EXPERIMENTAL_RealPassword": false, //自动创建账户时候固定密码不再是随意密码登录(4benj哥哥写的感觉不好用)
"defaultPermissions": [], //默认的权限组 可选例: "defaultPermissions": [player.*,server.*],
"maxPlayer": -1 // 服务器在线最大人数 -1 表示关闭
},
"server": {
"debugLevel": "NONE", //调试模式 类型说明:"NONE","MISSING","ALL" ->NONE: 不显示调试信息,MISSING: 仅显示未知请求,ALL: 全部显示
"DebugWhitelist": [], //调试白名单
"DebugBlacklist": [], //调试黑名单
"runMode": "HYBRID", //运行模式 类型说明: "HYBRID","DISPATCH_ONLY","GAME_ONLY" -> HYBRID: 同时运行负载均衡服务器和游戏服务器,DISPATCH_ONLY: 仅运行负载均衡服务器,GAME_ONLY: 仅运行游戏服务器
"http": {
"bindAddress": "0.0.0.0", //监听(所有)IP地址 0.0.0.0
"accessAddress": "127.0.0.1", // 访问(本地)IP地址 127.0.0.1 可选C类IP地址 :192.0.0.0 ~ 223.255.255.255 或者 AB类地址 A:1.0.0.0 ~ 127.255.255.255 B:128.0.0.0 ~ 191.255.255.255
"bindPort": 443, //监听端口 443
"accessPort": 0, // 访问端口 自动返回
"encryption": {
"useEncryption": true, //使用加密
"useInRouting": true, //使用开启
"keystore": "./keystore.p12", //密钥路径
"keystorePassword": "123456" //密钥密码
},
"policies": { //策略
"cors": { //CORS 跨域
"enabled": false, //开关 false 关闭
"allowedOrigins": [ //允许的来源 "*" 全部
"*"
]
}
},
"files": {
"indexFile": "./index.html", /// web 主页界面文件路径
"errorFile": "./404.html" //无法访问 web 404 界面文件路径
}
},
"game": {
"bindAddress": "0.0.0.0", //监听(所有)IP地址 0.0.0.0
"accessAddress": "127.0.0.1", // 访问(本地)IP地址 127.0.0.1
"bindPort": 22102, //监听端口 443
"accessPort": 0, // 访问端口 自动返回
"loadEntitiesForPlayerRange": 100, //玩家加载范围 据说调低40左右 降低负载 对低性能机器很友好
"enableScriptInBigWorld": false, //大世界脚本 默认false 开启true
"enableConsole": true, //启用控制台 true
"gameOptions": {
"inventoryLimits": { //库存限制
"weapons": 2000, //武器最大数量
"relics": 2000, //圣遗物最大数量
"materials": 2000, //材料最大数量
"furniture": 2000, //家具最大数量
"all": 30000 //总库存最大数量
},
"avatarLimits": { //人物上限
"singlePlayerTeam": 4, //单人队伍共限制4人
"multiplayerTeam": 4 //联机队伍共限制4人
},
"sceneEntityLimit": 1000, //玩家生成怪物上限
"watchGachaConfig": false, //监控Gacha配置修改
"enableShopItems": true, //商店开关:true
"staminaUsage": true, //体力条开关:true
"energyUsage": false, //元素充能开关:false
"resinOptions": { //树脂选项
"resinUsage": false, //树脂使用开关:false
"cap": 160, //树脂上限160
"rechargeTime": 480 //补给树脂间隔时间
},
"rates": { //爆率
"adventureExp": 1.0, //冒险EXP 1.0
"mora": 1.0, //摩拉 1.0
"leyLines": 1.0 //地脉 1.0
}
},
"joinOptions": {
"welcomeEmotes": [ //欢迎表情
2007,
1002,
4010
],
"welcomeMessage": "Welcome to a Grasscutter server.", //欢迎消息
"welcomeMail": { // 欢迎游戏
"title": "Welcome to Grasscutter!", //游戏标题
"content": "(//邮箱内容//)Hi there!\r\nFirst of all, welcome to Grasscutter. If you have any issues, please let us know so that Lawnmower can help you! \r\n\r\nCheck out our:\r\n\u003ctype\u003d\"browser\" text\u003d\"Discord\" href\u003d\"https://discord.gg/T5vZU6UyeG\"/\u003e\n",
"sender": "Lawnmower", //发件人署名
"items": [ //发送物品
{
"itemId": 13509, //id[武器] 13509 雾切之回光
"itemCount": 1, //给予数量
"itemLevel": 1 //给予等级
},
{
"itemId": 201, //id[物品] 原石
"itemCount": 99999, //给予数量
"itemLevel": 1 //给予等级
}
]
}
},
"serverAccount": { //服务器帐户好友设置
"avatarId": 10000007, //人物ID
"nameCardId": 210001, //名片ID
"adventureRank": 1, //冒险等级
"worldLevel": 0, //世界等级
"nickName": "Server", //昵称
"signature": "Welcome to Grasscutter!" //签名
}
},
"dispatch": {
"regions": [ //服务器列表区域
{
"Name":"Grasscutter",//名称
"Title":"Grasscutter", //标题
"Ip":"127.0.0.1", //IP地址默认本地127.0.0.1
"Port":"22102" //game.bindPort 22102 端口
},
{
"Name":"Grasscutters",//名称
"Title":"Grasscutter",//标题
"Ip":"127.0.0.1",//IP地址默认本地127.0.0.1
"Port":"22102"//game.bindPort 22102 端口
},
],
"defaultName": "Grasscutters" //默认加载Grasscutters 名称服务器
}
},
"version": 3 //版本 3
}
推荐使用 Grasscutter Tools工具箱 (仅 Win) 或 GrasscutterTools(网页版) 等生成指令
游戏登陆后默认有一个名为 Server
的好友,此为游戏控制台,可向其发送指令
游戏内 Server
好友输入示例:/give all
run.bat
运行窗口输入示例:give @10001 all
更多指令请使用 GrasscutterTools
工具箱查看
如果你是手机党玩家,不清楚指令,游玩别人的服务器,这里推荐两条指令
1.获得所有物品 /give all
2.获取毕业圣遗物 /give 76524 lv20 10001 999002 999001 201062,100 201091,100 989001,2 301241,120
用鱼钩(最后一个图标)在地图上标记一个点位并点击确认即可传送至目标上空;在名称填写数字可更改传送高度。
问题解答/取得支持
加入密碼:yJLCmrkO7i7C@eKP
关于
本服务端基于开源项目 Grasscutter。
本文作者:Kazuha Hub
本文链接:https://kazuhahub.com/archives/254/
版权声明:本Blog所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。非商业转载及引用请注明出处(作者、原文链接),商业转载请联系作者获得授权。
828 comments
点run。bat后显示系统找不到指定的路径。怎么办
你编辑一下run.bat的java路径,还有要JDK17
OωO
看一下你的jdk是不是装在C:\Program Files\Java\jdk-17.0.2\bin\java.exe这个地方,或者jdk的版本是不是17.0.2,如果不是的话就去改一下
我的那个深渊为啥打不了呢?创建完新的uid账号咋登录啊?
你脑袋有问题。用手登录。
没错,创建完不给账号密码,只给uid啊
如果更新了咋办
涼拌
为什么每次都是网络问题,每次错误代码都是4214
GC 没有最新的更新。 Grasscutter-3.0-Beta.9_RainKavik 版本。
旅行者角色中仍然存在无法元素 Dendro 的错误。
并且有些怪物无法生成。 地图也仍然关闭。
会有另一个更新吗?
为什么安装了语音包,我看了设置显示了语言包,但是游戏里面没有声音很不习惯,客户端2.85.2|´・ω・)ノ
2.8.5x不支持语音包
进入游戏后一个怪也没有,重新登陆也没有,是什么情况?第一次进是有的,后来再进就没了
你好,无需充能怎么关闭?我发现大招放完不用充能的
破案了energyUsage json这个改成true
感谢
大佬,这个文件在哪?我找不到qwq
把文件config.json里的energyUsage的参数改成true
感谢大佬!
同问!
聊天框找到Server输入 /setprop unlimitedenergy 0
设置后不管用,重启服务器也不行
有解决方案了吗?
我和你有一样的情况
终于成功了,是我使用代理助手不当导致的,用系统设置开启代理就解决了。最后还是感谢大佬分享|´・ω・)ノ
打了补丁但是仍然显示4214错误是为什么?
补丁没打对呗
大佬,登陆的时候出现私服的界面了。但是输入我创建的的账号显示“账号格式错误”
同样遇到上面问题QAQ
不知道哪步出错了,现在我官服也上不去了(ó﹏ò。)
登录窗口显示的是Mihoyo还是Hoyoverse?如果是Mihoyo说明你代理没开,就会出现你这个问题
感谢回答,我通过开关代理Hoyoverse跟mihoyo界面都能出来,Hoyoverse界面下显示网络错误,mihoyo界面就显示密码格式错误。
暂时还不知道是哪里的问题
mongdb没连接?
这个也开了,有可能打错补丁了。
请问进游戏测试显示无法连接服务器,错误码:4214是怎么回事啊?
解决了,非常感谢博主的教程
恭喜哦
怎么解决的,我也重复试了很久,但都没有成功
我建议学一下中文
我也遇到了同样的问题,请问这是因为没打补丁吗?
打开run.bat显示的和正确的不一样怎么办?
我连了别人的服务器显示 超时或者账号缓存错误怎么解决
大佬 显示要我登录账号怎么弄
创建一个账户呗,在grasscutter窗口输入account create 查看用法,之后进去用户名是你创建的那个,密码随便填
大佬!IOS客户端报:当前为国内sdk不支持设置海外环境 是什么情况啊|´・ω・)ノ
找不到2.8.52的服务端
2.8.50的beta9端可以通用的
感谢解答 值得一提的是 2.8.52我打了补丁进去依然显示4212 请教一下
试一下
https://cloud.rainkavik.com/s/oWqcx?password=u3xxfv&path=%2F%E6%9C%8D%E5%8A%A1%E7%AB%AF%E5%92%8C%E5%AE%A2%E6%88%B6%E7%AB%AF%2F2.8.52%2Fmeta
恕我实在有些愚昧 请问这个文件下载之后需要怎么使用呢 这并不是我所熟悉的zip格式的压缩文件
把文件名中的2.8.52删掉,分别复制到*\YuanShen_Data\Managed\Metadata和*\YuanShen_Data\Native\Data\Metadata
非常感谢 已经成功解决问题了
请问2.8.52的服务端怎么找不到
full-grasscutter-dev-#xxx_RainKavik.zip这个文件在哪里啊,我没有找到
网盘
点那个run。bat文件后说系统找不到指定的路径。怎么办,求解
大佬,登录后报错4214怎么办哇
打补丁
大佬,我下载的2.8.52完整包,后来也去打了2.8.52的补丁,显示欢迎回来后立马弹窗4214,
下面是日志
11:28:33 [Dispatch] 客户端 127.0.0.1 正在尝试登录
11:28:33 Client 127.0.0.1 request: query_cur_region/os_usa
11:29:20 [Dispatch] 客户端 127.0.0.1 正在尝试通过 token 登录
11:29:40 [Dispatch] 客户端 127.0.0.1 已通过 token 登录,UID 为 10002
代理工具的锅 大部分时候都是。或者再打一遍补丁试试?
[22:44:17] [ERROR] Failed to start Express
Exception in thread "main" java.lang.RuntimeException: Port already in use. Make sure no other process is using port 443 and try again.
at io.javalin.Javalin.start(Javalin.java:185)
at io.javalin.Javalin.start(Javalin.java:151)
at express.Express.listen(Express.java:211)
at emu.grasscutter.server.dispatch.DispatchServer.start(DispatchServer.java:465)
at emu.grasscutter.Grasscutter.main(Grasscutter.java:109)
Caused by: java.io.IOException: Failed to bind to 0.0.0.0/0.0.0.0:443
at org.eclipse.jetty.server.ServerConnector.openAcceptChannel(ServerConnector.java:349)
at org.eclipse.jetty.server.ServerConnector.open(ServerConnector.java:310)
at org.eclipse.jetty.server.AbstractNetworkConnector.doStart(AbstractNetworkConnector.java:80)
at org.eclipse.jetty.server.ServerConnector.doStart(ServerConnector.java:234)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
at org.eclipse.jetty.server.Server.doStart(Server.java:401)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
at io.javalin.core.JavalinServer.start(JavalinServer.kt:63)
at io.javalin.Javalin.start(Javalin.java:175)
... 4 more
Caused by: java.net.BindException: Address already in use: bind
at java.base/sun.nio.ch.Net.bind0(Native Method)
at java.base/sun.nio.ch.Net.bind(Net.java:555)
at java.base/sun.nio.ch.ServerSocketChannelImpl.netBind(ServerSocketChannelImpl.java:337)
at java.base/sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:294)
at java.base/sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:89)
at org.eclipse.jetty.server.ServerConnector.openAcceptChannel(ServerConnector.java:345)
... 12 more
大佬求解
443端口占用,解决方法:
①关掉占用443端口的进程
管理员身份打开cmd(C:\Windows\system32\cmd.exe)
在窗口内输入netstat -ano,回车,在本地地址一列找到*:*:*:*:443(*为0-255的数字),记住pid。
输入taskkill /pid (刚才的pid) -f -t 杀掉占用443端口的进程
一般都是VM搞得鬼,可以直接在cmd内输入taskkill /im vmware-hostd.exe -f -t 试试,如果成功了就好了(管理员身份启动cmd!)
②换端口
如确实无法接触占用请尝试修改 config.json 中的端口,同时修改 proxy_config.py 中的端口 *来自https://www.rainkavik.com/archives/284/
(windows端)