欢迎食用『主界面』~,这里是赵苦瓜的看板娘desu~

#
GrassCutter的配置和使用记录
首页 > 点滴记录    作者:赵苦瓜   2022年4月28日 11:44 星期四   热度:34900°   百度已收录  
时间:2022-4-28 11:44   热度:34900° 

项目地址:Grasscutters/Grasscutter: A server software reimplementation for a certain anime game. (github.com)

注:本教程适用于2.6 - 3.3版本,如果需要搭建CBT1版本的,请参考这个:某游CBT1私服搭建记录 —— 一测版本怀旧 - 赵苦瓜のBlog (jixiaob.cn)


众所周知,某游戏有很长时间的长草期。于是,除草机便诞生了!为我们这些长草期的玩家创造了一点乐趣!


简单来说,就是抓包拦截了官方游戏的网络请求,然后分析请求和返回值,然后模拟这些请求返回写了一个服务端。

类似的东西还有很多,Grasscutter只是其中的一个:

1654364738274.jpg

这里记录一下我搭建的过程。

其他参考教程:

酷安教程:

https://www.coolapk.com/feed/35321048

(已失效,备份:『原神』2.6无限抽卡端搭建教程 来自 aoruLola - 酷安 (jixiaob.cn)


GenshinTJ - 荼蘼博客 (tomys.top)

原神 2.6 私服启动教程2.0 - 虚之亚克洛OTOOBLOG

使用Grasscutter服务端搭建原神私服 | Eulaの小破站

Grasscutter 电脑端安装教程 – 虚冇的避风港 (memorz.top)

GenKit Wiki | GenKit Wiki (mhysb.xyz)

Grasscutter(原神服务端)搭建教程 - BLxcwg666 's Blog (cyznb.eu.org)


注:如果是玩别人搭好的服务器的话,直接从二、添加代理开始看即可!

这里也有一些别人搭建好的私服可以直接进入!

友情提醒:不要随意加入你所不信任的人的服务器。一个名为 WindSeedClientNotify 的数据包可以在你的客户端中无需授权执行本地 LUA 代码(RCE)

可以在服务器地址后面加上/status/server来查看当前在线人数、最大支持人数和游戏版本号。

琉璃神社 | 公益服务器 (yuanshen.cf)(养成服)

原神私人服务器 | OPCC.CC

YuukiPS

https://genshin.exzork.me

https://vanshit.fun(截至2022.07.11 此服务器还是2.6版本)

欢迎 (bambi5.top)

天理尝蛆 CASKS.ME – CASKS.ME

YJRQZ777

https://124.221.126.114

https://43.142.80.152

https://gktwoserver.xyz:1314

https://106.13.5.214:4433(指令服)

琉璃神社 (liulishenshe.vercel.app)


环境准备:

Java环境(1.0.0版本用java8,更新的版本看说明或者群友汉化版用java17)

MongoDB数据库(官网MongoDB: The Application Data Platform | MongoDB

可以来到社区版页面直接下载:

https://www.mongodb.com/try/download/community

右边可以选择版本,windows建议下载msi包,linux可以下载rpm包。

以下是我下载的windows版本和linux版本。(我喜欢用CentOS7,所以平台是CentOS 7.0)

点击查看原图

windows的msi包直接无脑下一步安装即可,linux的rpm包使用安装命令 rpm -ivh rpm包的文件名 即可安装。

linux安装之后还需要启动mongod服务,比较简单的启动方法是mongod --config /etc/mongod.conf

安装完成之后可以打开它自带的shell看看数据库服务是否正常运行,windows打开mongo.exe,linux输入mongo,进入shell之后输入show dbs 回车即可看到默认的数据库,说明mongod数据库服务运行正常。



一、服务端搭建

官方的wiki里面也是有教程的。

1.先来到Grasscutter的Release页,然后下载grasscutter.jar。

2.在grasscutter.jar的地方新建一个文本文档,改名为start.bat(linux系统直接新建start.sh即可)

里面写上

java -jar grasscutter.jar

这是服务端的启动命令。(当然也可以不新建,启动的时候手动输这句就是)

注:grasscutter的1.0.0版本需要使用java8启动,以后的更新可能需要升级Java版本(似乎要更新到java11了)。

另外有群友编译的汉化版本需要使用java17启动,请根据需要选择合适的java版本,否则会报错导致无法启动。

第一次启动时,他会给你这个路径进行初始化,会生成一些配置文件和文件夹。

点击查看原图

3.下载服务端的资源文件

https://github.com/Dimbreath/GenshinData

把这个仓库里面的TextMap、Subtitle、Readable和ExcelBinOutput文件夹下载到resources文件夹里面。


https://github.com/radioegor146/gi-bin-output

这个仓库对应版本的_BinOutput文件夹放在resources里面,并重命名为不带下滑线的BinOutput

(如果没有对应版本的话用比较新的版本也行)

点击查看原图

https://github.com/Grasscutters/Grasscutter

Grasscutter仓库的keys文件夹、data文件夹和keystore.p12文件放在grasscutter.jar的同目录。

注:如果用的比较新的版本请选择开发分支里面的文件,很多新特性比如自动生成大世界怪物需要data里面的Spawns.json文件,没有这个文件就无法实现自动生成大世界怪的功能。

之后你的文件夹应该长这样:

点击查看原图

4.然后可以输入java -jar grasscutter.jar -handbook来生成物品id对照表,方便查看物品id然后在游戏内输入命令。

当然也可以直接下载生成好的handbook手册。


5.修改config.json配置信息。

注:由于1.1.1-dev配置文件结构大改,新版配置文件请看最底部说明。

如果是本地运行的话里面的两个PublicIp不用动,如果是放在服务器上的话需要把两个PublicIp改为服务器的公网IP。

上面的"Port": 22102是游戏服务器(GameServer)的端口,用来处理一些传送、伤害数值计算等信息,如果是在服务器部署的话记得在安全组放开这个端口的UDP协议,防止出现4206错误无法进入游戏。

下面的"Port": 443,是用来处理登录、游戏更新的端口(DispatchServer),默认的443端口服务器可能不太好搞,国内可能需要备案才能使用,或者被nginx等服务占用了。而windows也可能会被VMWare的Share共享服务或者Steam占用,所以可以改为别的端口。改好之后如果是服务器的话记得在安全组放行该端口的TCP协议。

以上两个端口除了安全组外,还要检查一下防火墙有没有开放。

linux是类似这样的命令:

firewall-cmd --add-port=22102/udp          

"WelcomeMotd": "Welcome to Grasscutter emu",这个是进服务器之后Server发给你的欢迎语句,可以改成好玩的,”欢迎来到XXX私服“之类的

"KeystorePassword": "123456",这个是那个证书文件的密码,最新版的证书是有密码的,记得填上。

"AutomaticallyCreateAccounts": false,这个是控制自动创建账号的,改为true之后,如果登录私服的时候没有那个账号的话会自动创建一个并登录进去,然后分配默认的uid,从10001开始往后顺延。

"MaxAvatarsInTeam": 4  "MaxAvatarsInTeamMultiplayer": 4,  联机队伍中最多角色数,更改之后可以切换联机数量,(隔壁好像有个试过12个人同时在同一个世界的,还能切换角色

改好配置文件之后保存,就可以运行start.bat启动游戏服务器了。当然如果把配置文件改坏了,你也可以把他删掉,启动游戏服务器的时候会重新生成一个默认的。

运行成功后会显示游戏服务器已启动:

点击查看原图

可以在这里输入命令创建账号干啥的,比如account create jixiaob 114514
就是创建了一个uid是114514,名字叫jixiaob的账号。在这里用命令创建的账号拥有的权限是*(所有权限)

群友zhuzhuxd: 私服UID千千万,114514占一半


、添加代理

【注意:2.8版本更改了登录验证规则,需要patch metadata.dat或者 UserAssembly.dll 才能进私服,否则会出现4214错误!

【具体的patch方法或文件请自行寻找,本博客不提供支持】

我们只需要劫持官方客户端发送的请求,并把请求都转发到我们的私服就可以了。

如果你会劫持转发的话,可以按照下面的表进行转发:

api-os-takumi.mihoyo.com -> (redirect to the server host)
hk4e-api-os-static.mihoyo.com -> (redirect to the server host)
hk4e-sdk-os.mihoyo.com -> (redirect to the server host)
dispatchosglobal.yuanshen.com -> (redirect to the server host)
osusadispatch.yuanshen.com -> (redirect to the server host)
account.mihoyo.com -> (redirect to the server host)
log-upload-os.mihoyo.com -> (redirect to the server host)
dispatchcntest.yuanshen.com -> (redirect to the server host)
devlog-upload.mihoyo.com -> (redirect to the server host)
webstatic.mihoyo.com -> (redirect to the server host)
log-upload.mihoyo.com -> (redirect to the server host)
hk4e-sdk.mihoyo.com -> (redirect to the server host)
api-beta-sdk.mihoyo.com -> (redirect to the server host)
api-beta-sdk-os.mihoyo.com -> (redirect to the server host)
cnbeta01dispatch.yuanshen.com -> (redirect to the server host)
dispatchcnglobal.yuanshen.com -> (redirect to the server host)
cnbeta02dispatch.yuanshen.com -> (redirect to the server host)
sdk-os-static.mihoyo.com -> (redirect to the server host)
webstatic-sea.mihoyo.com -> (redirect to the server host)
hk4e-sdk-os-static.hoyoverse.com -> (redirect to the server host)
webstatic-sea.hoyoverse.com -> (redirect to the server host)
sdk-os-static.hoyoverse.com -> (redirect to the server host)
api-account-os.hoyoverse.com -> (redirect to the server host)
hk4e-sdk-os.hoyoverse.com -> (redirect to the server host)
uspider.yuanshen.com -> (redirect to the server host)


如果不会的话,官方推荐了三种方法:

①使用mitmdump。

②使用Fiddler Classic。

③使用Host文件。

④使用第三方启动器。

比如:

123456fsdaf/GenshinImpact_Lanucher: 基于WPF-UI制作的原神启动器 (github.com)

SwetyCore/OceanLauncher (github.com)

GitHub - Coooookies/OceanLauncher: A launcher for anime game

点击查看原图

点击查看原图

启动器3.JPG


我觉得Fiddler的方法就不错,打开Fiddler是私服,关掉Fiddler就是官服,很方便。(后来感觉第三方启动器更方便)

这里以Fiddler为例。

①在官网下载Fiddler Classic。

Classic版本是经典的版本,虽然界面不是很好看,但是他是免费的,功能也十分强大。

②选择左上角Tools-Options,在HTTPS里面选择Decrypt HTTPS traffic

点击查看原图

③选择Connections,然后选择一个端口。要避开8888端口。

比如官方写的是8080端口,酷安老哥教程给的是8181端口。

点击查看原图

点击OK。

④在Fiddler右侧找到FiddlerScript,把原来的代码全部删掉(可以备份一份初始的),然后把下面的这一段代码放进去

/* Original script by NicknameGG, modified for Grasscutter by contributors. */
import System;
import System.Windows.Forms;
import Fiddler;
import System.Text.RegularExpressions;

class Handlers
{
    static function OnBeforeRequest(oS: Session) {
        if(oS.host.EndsWith(".yuanshen.com") || oS.host.EndsWith(".hoyoverse.com") || oS.host.EndsWith(".mihoyo.com")) {
            oS.host = "127.0.0.1:443"; // This can also be replaced with another IP address.
        }
        if(oS.uriContains("http://uspider.yuanshen.com:8888/log")){
            oS.oRequest.FailSession(200, "Blocked", "haha");
        }
    }
};
如果是本地的话改一下127.0.0.1:443后面的那个端口即可,如果是服务器的话把127.0.0.1改成服务器的公网ip,端口改成分发服务器(DispatchServer)的端口即可,然后点击左上角的Save Script保存脚本使其生效。


点击查看原图

之后就可以打开Genshin Impact Game里面的YuanShen.exe启动游戏了。期间会弹出一个信任证书的选项,选择Yes即可。

点击查看原图

⑤游戏会提示你进行登录,此时会发现是hoyoverse的登录页面,国服客户端如果这样显示的话就说明成功了。

用你刚刚在服务器创建的账号即可登录进去,密码随便输就可以。

登录游戏.jpg

此外,由于原神官方对于私服的限制,每个版本的应对措施都有所不同。(测试服对应版本和正式服基本一致,比如3.1.50测试服和3.2版本的方法一致)

2.7及以前的版本:没有验证,改了代理转发之后就可以直接进入。

2.8、3.0版本:主流方法是替换/Native/global-metadata.dat文件,也可以替换UserAssembly.dll

3.1、3.2版本:替换global-metadata.dat文件方法失效,需要替换UserAssembly.dll

3.3版本:上述方法均失效,可以替换mhypbase.dll或者复制一个version.dll


三、私服的使用

为啥要玩私服?当然是因为私服的特性啦!很重要的一点是命令!

你可以在服务器那里打help列出所有命令。

在游戏内可以私聊Server来执行命令。每条命令都要以/或者!开头。

以下是github上写的命令表:

其中[]括起来的是可选参数,也就是可以省略。<>括起来的是必须参数,不能省略。


使用别名可以简化命令,提高输入效率。

命令中需要的物品ID、场景ID、角色ID等均在handbook里面,可以按照上面提到过的方法自己生成,也可以下载这个生成好的。

0.84版handbook下载:https://blog.jixiaob.cn/backup/files/GMHandbook_FullLang_Script-v0.8.4.zip

哦,对了,你肯定在找纠缠之缘吧

/give 223 100

使用give命令可以获取物品,223是相遇之缘的物品代号,后面100是给100个。另外224是相遇之缘。

获取命令.jpg

命令 用法 权限节点 可用性 注释 别名
account account <create|delete> <用户名> [uid] 仅服务端 通过指定用户名和uid增删账户
broadcast broadcast <消息内容> server.broadcast 均可使用 给所有玩家发送公告 b
changescene changescene <场景ID> player.changescene 仅客户端 切换到指定场景 scene
clearartifacts clearartifacts player.clearartifacts 仅客户端 删除所有未装备及未解锁的圣遗物,包括五星 clearart
clearweapons clearweapons player.clearweapons 仅客户端 删除所有未装备及未解锁的武器,包括五星 clearwp
drop drop <物品ID|物品名称> [数量] server.drop 仅客户端 在指定玩家周围掉落指定物品 d dropitem
give give [uid] <物品ID|物品名称> [数量] [等级] 给予指定玩家一定数量及等级的物品 g item giveitem
givechar givechar <角色ID> [等级] player.givechar 均可使用 给予指定玩家对应角色 givec
giveall giveall [uid] [数量] player.giveall 均可使用 给予指定玩家全部物品 givea
godmode godmode [uid] player.godmode 仅客户端 保护你不受到任何伤害(依然会被击退)
heal heal player.heal 仅客户端 治疗队伍中所有角色 h
help help [命令] 均可使用 显示帮助或展示指定命令的帮助
kick kick server.kick 均可使用 从服务器中踢出指定玩家 (WIP) k
killall killall [uid] [场景ID] server.killall 均可使用 杀死指定玩家世界中所在或指定场景的全部生物
list list 均可使用 列出在线玩家
permission permission <add|remove> <用户名> <权限节点> * 均可使用 添加或移除玩家的权限
position position 仅客户端 获取当前坐标 pos
reload reload server.reload 均可使用 重载服务器配置
resetconst resetconst [all] player.resetconstellation 仅客户端 重置当前角色的命座,重新登录即可生效 resetconstellation
restart restart 均可使用 重启服务端
say say <消息> server.sendmessage 均可使用 作为服务器发送消息给玩家

sendservmsg

sendservermessage 

sendmessage

setfetterlevel setfetterlevel <好感等级> player.setfetterlevel 仅客户端 设置当前角色的好感等级

setfetterlv

lsetfriendship

setstats setstats <属性> <数值> player.setstats 仅客户端

直接修改当前角色的面板。

属性: 

hp 生命值 def 防御力

atk 攻击  em 元素精通

er 元素充能 crate 暴击率

dmg 暴击伤害 epyro 火伤 ecryo 冰伤  ehydro 水伤

egeo 岩伤 edend 草伤

eelec 雷伤 ephys 物伤
stats
setworldlevel setworldlevel <世界等级> player.setworldlevel 仅客户端 设置世界等级(重新登陆即可生效) setworldlvl
spawn spawn <怪物ID|怪物名称> [等级] [数量] server.spawn 仅客户端 在你周围生成怪物
stop stop server.stop 均可使用 停止服务器
talent talent <天赋ID> <等级> player.settalent 仅客户端 设置当前角色的天赋等级
teleport teleport player.teleport 仅客户端 传送玩家到指定坐标 tp
weather weather <天气ID> <气候ID> player.weather 仅客户端 改变天气 w
解决自动创建的账号没有权限使用命令的问题:

config里面设置的那个AutomaticallyCreateAccounts默认是没有任何权限的,自然也用不了命令行。可以让服务器中的其他用户上号输命令给他授权或者在服务器那里输命令授权。

permission add 登录的用户名 *

*是通配符代表所有权限,如果要具体权限可以参考上方表格的权限节点。

或者在config里面找到defaultPermissions,里面填上对应的默认权限就行了


解决运行时的文件ERROR:

运行时可能会遇到这个报错:

Relic properties are missing weights! Please check your ReliquaryMainPropExcelConfigData or ReliquaryAffixExcelConfigData files in your ExcelBinOutput folder.

在resources/ExcelBinOutput文件夹里找到确实是有这两个文件。

可以用ReliquaryAffixExcelConfigData.jsonReliquaryAffixExcelConfigData.json把原来的文件替换掉即可。


皮肤无法更改的问题:

将 AvatarCostumeExcelConfigData.json 文件替换掉resource/ExcelBinOutput/里面原来的文件即可。


修改卡池:

卡池部分已更新,详见我的仓库:

https://github.com/Zhaokugua/Grasscutter_Banners

卡池的配置文件放在了服务器的\data\Banners.json里面。

gachaType=200,scheduleId=893的为常驻池
gachaType=301,scheduleId=903的为角色UP池 (多UP池: 增加gachaType为 302,303,304… 的条目即可)
gachaType=400,scheduleId=913的为武器UP池
rateUpItems1为UP五星,rateUpItems2为UP四星,对应物品ID在Handbook手册中可以找到
修改卡池封面需修改prefabPath previewPrefabPath titlePath中的 A0** 为对应的卡池 id(在卡池顺序.xlsx中)
costItem为抽卡耗费的货币名称 223纠缠之缘,224相遇之缘 
beginTime endTime为卡池开始 / 结束的时间戳
softPity最少几次出hardPity最多几次出eventChance歪的概率 %

(好像有大佬做了全up卡池的json文件,但是原神抽卡界面上方那个选择框是划不动的,只能按左右两个箭头来切换

{
"gachaType": 200, // <---- 添加卡池请从400开始添加
"scheduleId": 803, // <---- 这个id需要每个池子不一样
"bannerType": "STANDARD", // <---- 这个有3种类型,standard表示常驻池,event表示限时活动祈愿池,weapon表示限时祈愿武器池
"prefabPath": "GachaShowPanel_A016", // <---- prefabPath...
"previewPrefabPath": "UI_Tab_GachaShowPanel_A016", // <---- 这个是抽卡的预览背景id
"titlePath": "UI_GACHA_SHOW_PANEL_A016_TITLE", // <---- 这个是抽卡的标题id,有可能与之前两项的id不同(一般这3项的id只需保持一致即可)
"costItem": 224, // <---- 这个表示祈愿用的道具,224是相遇之缘,223是纠缠之缘 - 选择一个作为该卡池的抽卡道具(提示:请不要随便修改祈愿道具除了蓝球和粉球,有可能会引发bug,比如修改成摩拉抽卡可能导致卡住)
"beginTime": 0, // <---- 祈愿什么时候开始(默认设置为0)
"endTime": 1924992000, // <---- 这个卡池持续多长时间(默认为这个极大的数字)
"sortId": 1000, // <---- 暂时未搞清楚功能,可能与卡池在屏幕的左右顺序有关
"rateUpItems1": [], // <----通常为5星的up角色或物品(可修改,查看gm手册可修改为任意角色或者物品)
"rateUpItems2": [1034] // <---- 通常为4星的up物品或者角色(可修改,查看gm手册可修改为任意角色或者物品)
},

抽卡抽多了服务器内部错误:

可能是背包满了或者武器满了,总之就是满了,销毁或者使用上面的命令一键销毁即可


任意位置传送:

私服支持任意位置传送,只需在地图上标点,你会发现点并不会表上,关掉地图之后你就会发现你被传送到你标的点上了。

(注意,新版本为了支持标点功能,将任意位置传送改为了标点传送)

另外私服也删除了”前面的蛆以后再来探索吧!“的提示,可以任意探索未开放的地图。(虽然也没有什么东西)


去金苹果群岛!

点击地图右下角,发现可以进金苹果群岛,但是刚开始是黑的。只需要用上方讲到的任意位置传送,即可传送到金苹果群岛,然后就会自动解锁地图了!

(2.7好像把金苹果删了,想去的话建议用2.6版本)

新功能:

Grasscutter的dev分支里面的data文件夹除了卡池的配置文件Banners.json外最近又多了很多文件。比如Spawn.json是自动在大世界生成怪物的配置文件,可以用于新版本的自动生成怪物,Drop.json是新版的怪物掉落,打怪会掉东西了,Shop.json是那些商店,可以用于新版的商店购物(商店不会是空的了

所以更新的时候不要只想着更新那个jar包,也要看看这里面有没有更新配置文件,以防止更新之后仍没有新的特性。


拓展插件:

为了丰富割草机的功能,很多大佬为割草机开发了第三方插件。

直接把插件的jar包丢进plugins文件夹然后重启割草机即可启用插件。

由于配置文件改版问题,请一定要根据割草机版本选择对应版本的插件,否则会报错无法启动

比如web控制台:

liujiaqi7998/GrasscuttersWebDashboard: Grasscutters的WEB控制面板 (github.com)

远程命令插件:

jie65535/gc-opencommand-plugin: A plugin that open the GC command execution interface for third-party clients (github.com)

邮件拓展插件:

Coooookies/Grasscutter-MeaMailPlus: A plugin of Grasscutter for send in-game mail conveniently (github.com)

定时公告插件:

Coooookies/Grasscutter-MeaNotice: A plugin of Grasscutter for send regular notice. (github.com)

登录密码验证插件:

exzork/GCAuth: Authentication system for Grasscutter (github.com)

twitter网址密码登录插件:

Xtao-Team/GCAuth-OAuth: The in-game login system for Grasscutter is based on oauth and GCAuth. (github.com)

自动从官服导入角色数据的插件(仅支持公开的8个角色):

exzork/GCEnkaCopy: Apply enka.shinshin.moe data to Grasscutter (github.com)



自行构建:


grasscutter.jar是可以自己构建的。

这个官方readme.md也有详细说明,这里就不再赘述。

自行构建有个好处是可以修改源代码达到自己想要的效果。

比如你用浏览器打开Dispatch的界面是一个很简单的“欢迎使用 Grasscutter!珍惜这段美妙的旅途吧!”这句话。

可以修改Grasscutter\src\main\java\emu\grasscutter\server\http\HttpServer.java里面的html的源代码来达到修改这个页面的效果。

(当然直接在gc的目录放一个index.html也是完全可以的)

页面预览:

小Bの原神Server (jixiaob.cn)

感谢OPServer (opcc.cc)提供页面灵感。


新版配置文件说明:

注:很多都是经验之谈或者猜想,如有错误请在评论区指正w

{
// 文件结构,就是服务器所依赖的一些文件存放的位置
  "folderStructure": {
    "resources": "./resources/",  // 资源文件
    "data": "./data/",   // 数据文件
    "packets": "./packets/",  // 自定义回复数据包文件
    "scripts": "./resources/Scripts/",  // lua脚本文件
    "plugins": "./plugins/"    // 插件文件,把插件的jar包丢到这里面即可启用插件

  },
// 数据库信息,记录mongodb的数据库地址以及名称
  "databaseInfo": {
    "server": {
      "connectionUri": "mongodb://localhost:27017",
      "collection": "grasscutter"
    },
    "game": {
      "connectionUri": "mongodb://localhost:27017",
      "collection": "grasscutter"
    }
  },
   // 控制台命令返回的语言,第一次启动会检测本地语言,也可以自己设置、en_US  zh_CN zh_TW等,具体看官方说明
  "language": {
    "language": "zh_CN",
    "fallback": "en_US",
    "document": "EN"
  },
   // 账号设置,用于设置是否在登录时如果账号不存在则默认创建账号并登录和默认的权限
  "account": {
    "autoCreate": true,
    "defaultPermissions": ["*"],
    "maxPlayer": -1
  },
   // 分发服务器(Dispatch)设置
  "server": {
    "debugLevel": "NONE", // NONE不显示调试信息,MISSING显示未知请求,ALL全部显示,还有WHITELIST, BLACKLIST
    "runMode": "HYBRID",   // 可以设置为HYBRID、GAME_ONLY或者DISPATCH_ONLY
    "http": {
      "bindAddress": "0.0.0.0",
      "accessAddress": "127.0.0.1",  // 访问地址,本地写本地地址,服务器写服务器的公网IP
      "bindPort": 443,
      "accessPort": 0,  // 0就默认和bindPort一致
      "encryption": {
        "useEncryption": true,   // SSL加密相关内容
        "useInRouting": true,
        "keystore": "./keystore.p12",    // 证书文件
        "keystorePassword": "123456"    // 证书文件的密码
      },
      "policies": {
        "cors": {
          "enabled": false,
          "allowedOrigins": [
            "*"
          ]
        }
      },
      "files": {
        "indexFile": "./index.html",  //自定义割草机主页文件,可以在割草机目录放一个index.html,这样主页就会自动更改为你替换的html
        "errorFile": "./404.html"
      }
    },
// 游戏服务器(GameServer)配置
    "game": {
      "bindAddress": "0.0.0.0",
      "accessAddress": "127.0.0.1",  // 和上方分发服务器一致
      "bindPort": 22102,
      "accessPort": 0,
      "loadEntitiesForPlayerRange": 100,
      "enableScriptInBigWorld": true,  // 开启大世界脚本,包括仙灵、宝箱、元素机关等可交互内容(可能会增加内存占用)
      "enableConsole": true,  // 开启控制台
  // 游戏选项,武器上限、圣遗物上限、材料上限、家具上限等
      "gameOptions": {
        "inventoryLimits": {
          "weapons": 2000,
          "relics": 2000,
          "materials": 2000,
          "furniture": 2000,
          "all": 30000
        },
// 队伍中的人数和联机队伍最大人数
        "avatarLimits": {
          "singlePlayerTeam": 4,
          "multiplayerTeam": 4
        },
        "sceneEntityLimit": 1000,  // 最大实体数量
        "watchGachaConfig": false,   // 检测banners.json卡池文件的改动,并自动reload刷新卡池
        "enableShopItems": true,  // 启用和游戏内数据一致的商店
        "staminaUsage": true,
        "energyUsage": false,  // 启用体力条,启用后玩家可以用命令手动关闭
// 树脂设定
        "resinOptions": {
          "resinUsage": false,
          "cap": 160,
          "rechargeTime": 480
        },
     // 服务器倍率,冒险经验倍率,摩拉倍率等
        "rates": {
          "adventureExp": 1.0,
          "mora": 1.0,
          "leyLines": 1.0
        }
      },
	  // 加入游戏时的设定
      "joinOptions": {
 // 服务器给你发送的欢迎表情id(随机其中一个)
        "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",  // 邮件发送者名称
  // 邮件附件的物品id、数量和等级
          "items": [
            {
              "itemId": 13509,
              "itemCount": 1,
              "itemLevel": 1
            },
            {
              "itemId": 201,
              "itemCount": 99999,
              "itemLevel": 1
            }
          ]
        }
      },
// 服务器的账号设定
      "serverAccount": {
        "avatarId": 10000007,// 头像id
        "nameCardId": 210001, // 名片id
        "adventureRank": 1,   // 冒险等级
        "worldLevel": 0,      // 世界等级
        "nickName": "Server",  // 昵称
        "signature": "Welcome to Grasscutter!"   // 个人签名
      }
    },
    "dispatch": {
      "regions": [],   // 这里可以添加多个服务器,可以选服 {"Name": "","Title": "","Ip": "ip","Port": 22102}
      "defaultName": "Grasscutter" // 默认服务器的标题
    }
  },
  "version": 3 // config的版本号
}





本文作者:赵苦瓜      文章标题: GrassCutter的配置和使用记录
本文地址:https://blog.jixiaob.cn/?post=83
版权声明:若无注明,本文皆为“赵苦瓜のBlog~”原创,转载请保留文章出处。
qiuzhu2023-01-09 06:16
作者你好,为什么搭建的服务器boss的等级100多级,有些小怪级别也会偏高,正常情况下BOSS最高应该是93级,请问能修改吗?
@qiuzhu:正常情况下是和官服一样boss等级是跟着世界等级变的
可以试试在config把大世界脚本打开"enableScriptInBigWorld": true,
不行的话就不太好改了,应该是改config里面的spwan.json,这个是大世界脚本关闭的情况下控制大世界的怪物生成的,里面有怪物生成的id,地点信息、等级信息等
mi2022-12-22 08:04
要是有云服务器,能不能搭建到云服务器里面啊
Windows Server2022可不可以试试
@mi:可,能跑java基本都行
科少2022-11-11 19:32
我想知道服务器搭建好了,朋友要怎么加进来一起玩?
@科少:服务器搭建的话直接和你一样代理一下就能玩了
本地搭建的话外面一般是访问不到的,可以把那两个端口映射出去或者使用内网穿透穿出去,然后就能连了
a2022-11-11 13:32
问一下不相干的 有崩坏3早期版本吗 想拆模型
@a:qwq找到一个BH3Studio
https://github.com/kiku233/BH3Studio
游戏本体我不太清楚
emm2022-09-30 11:01
有原神早期游戏文件吗
@emm:https://github.com/kyou-nase/GI-Download-Library
这个仓库里有所有版本的下载链接汇总,可以去看一下
瑞酱2022-12-13 14:57
@赵苦瓜:作者你好,请问早期版本的本体用上现在版本的jar和res可以运行吗?
@瑞酱:最早的CBT测试版本直接用肯定是不行的,别的版本我感觉也不太行,因为可能proto和res文件都不太一样,具体我也没试过=w=
赵军2022-09-18 21:47
为什么fiddler会报502啊?我同一局域网下,本机windows11部署后本机开fiddler访问本机的私服,请求都是200。
然后局域网内一台windows10部署后,我将windows11那台机器上的fiddler理所当然地修改rules里ip和端口改为windows10那台机器的。
然后win11机器fiddler请求是502,我检查过win10机器上部署的grasscutter,config配置地ip是win10那台机器地ip,端口是443。
我win11机器上fiddler也照着修改了,想不出原因啊,难道代理的方式有问题???
@赵军:浏览器访问一下ip:port看看是不是显示Welcome to Grasscutter之类的
能访问的话一般就没什么问题
赵军2022-09-20 19:52
@赵苦瓜:谢谢,已经解决了,换了代理工具,fiddler对我来说没效果。。。
赵军2022-09-20 19:51
@赵军:已经解决了,是代理工具的问题,fiddler不好用啊
小小2022-09-02 20:50
WelcomeMotd": "
这里欢迎语我改成中文,为啥会乱码
@小小:我猜你应该是在win系统搭建的,可以尝试把config文件换一个编码保存,比如gb2312
阿尼亚2022-09-17 12:35
@小小:可能是编码错误,试试utf8
aa2022-08-15 09:44
打了补丁进不去 游戏白屏 显示登陆超时
@aa:白屏可能是数据库问题或者服务端问题,一般和打补丁没关系
可以检查服务端是否有报错提示,或者删除数据库重新创建账号
此外还有可能是网络问题,如果不是本地搭建的话需要检查默认的udp27017端口有没有打开
老鬼2022-07-18 05:17
登录显示 网络错误 4214,fiddler已经写了脚本也没有用8888端口
@老鬼:原文有写:
【注意:2.8版本更改了登录验证规则,需要patch metadata.dat或者 UserAssembly.dll 才能进私服】
【具体的patch方法或文件请自行寻找,本博客不提供支持】

4214就是典型的没有patch客户端的错误
老鬼2022-07-18 15:56
@赵苦瓜:谢谢
老鬼2022-07-18 20:11
@赵苦瓜:割草机git 没找到处理方法,大佬能指导一下嘛
@老鬼:https://github.com/gc-toolkit/OceanLauncher
这个启动器里面自带了国服metadata的patch补丁,可以用这个
老鬼2022-07-21 05:28
@赵苦瓜:谢谢
三七2022-07-30 20:37
@赵苦瓜:大佬,这个东西怎么用啊,这也遇到4214这个情况了
@三七:如果你已经有别的代理方法不需要这个启动器代理的话
下载release的压缩包,然后从\OceanLauncher\patch-metadata里面找到cnrel-global-metadata.dat,重命名为global-metadata.dat然后把文件放在原神的YuanShen_Data\Managed\Metadata文件夹里(替换文件之前记得备份原始的文件)就可以进私服了。同理进官服要替换回来,否则也会4214
@三七:如果用这个启动器的话,设置里面设置好游戏路径,底下就有patch的按钮可以自动替换文件,unpatch可以自动恢复成原来的文件,然后添加你的服务器地址(不带http),启动代理就可以了
三七2022-07-30 21:23
@赵苦瓜:release的压缩包是什么,在哪下
@三七:https://github.com/gc-toolkit/OceanLauncher/releases
aaa2022-06-06 18:14
我是国际服的游戏,玩了这个私服在登陆国际服账号会不会被封号呀
@aaa:登录私服的时候所有流量都是代理到私服的,理论上讲不会上传数据。不过有可能在切换为国际服的时候上传日志文件。
不过我感觉大可不必担心,目前没有一例因为玩私服封号的案例。
aaa2022-06-06 20:57
@赵苦瓜:有没有什么办法能清除电脑上的游戏日志呀,还是怕被封号
@aaa:AppData\LocalLow\miHoYo\原神
一般日志好像都放这里了
不过如果米忽悠真想封你的号他有一万种不让你知道的方法检测,删日志也没用
aaa2022-06-07 08:02
@赵苦瓜:hoyoverse会封号吗
@aaa:真怕封号建议另外找一台电脑专门玩私服

返回顶部    首页    后花园  
版权所有:赵苦瓜のBlog~    站长: 赵苦瓜    程序:emlog   鲁ICP备20030743号-1   鲁公网安备37048102006726 萌ICP备20222268号    sitemap