项目地址:Grasscutters/Grasscutter: A server software reimplementation for a certain anime game. (github.com)
注:本教程适用于2.6 - 3.3版本,如果需要搭建CBT1版本的,请参考这个:某游CBT1私服搭建记录 —— 一测版本怀旧 - 赵苦瓜のBlog (jixiaob.cn)
众所周知,某游戏有很长时间的长草期。于是,除草机便诞生了!为我们这些长草期的玩家创造了一点乐趣!
简单来说,就是抓包拦截了官方游戏的网络请求,然后分析请求和返回值,然后模拟这些请求返回写了一个服务端。
类似的东西还有很多,Grasscutter只是其中的一个:
这里记录一下我搭建的过程。
其他参考教程:
酷安教程:
https://www.coolapk.com/feed/35321048
(已失效,备份:『原神』2.6无限抽卡端搭建教程 来自 aoruLola - 酷安 (jixiaob.cn))
原神 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)(养成服)
https://vanshit.fun(截至2022.07.11 此服务器还是2.6版本)
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
我觉得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的登录页面,国服客户端如果这样显示的话就说明成功了。
用你刚刚在服务器创建的账号即可登录进去,密码随便输就可以。
此外,由于原神官方对于私服的限制,每个版本的应对措施都有所不同。(测试服对应版本和正式服基本一致,比如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是相遇之缘。
直接修改当前角色的面板。
属性:
hp 生命值 def 防御力
atk 攻击 em 元素精通
er 元素充能 crate 暴击率
dmg 暴击伤害 epyro 火伤 ecryo 冰伤 ehydro 水伤
egeo 岩伤 edend 草伤
解决自动创建的账号没有权限使用命令的问题:
命令
用法
权限节点
可用性
注释
别名
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
l
setfriendship
setstats
setstats <属性> <数值>
player.setstats
仅客户端
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.json和ReliquaryAffixExcelConfigData.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)
远程命令插件:
邮件拓展插件:
定时公告插件:
Coooookies/Grasscutter-MeaNotice: A plugin of Grasscutter for send regular notice. (github.com)
登录密码验证插件:
exzork/GCAuth: Authentication system for Grasscutter (github.com)
twitter网址密码登录插件:
自动从官服导入角色数据的插件(仅支持公开的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也是完全可以的)
页面预览:
感谢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的版本号 }
本文地址:https://blog.jixiaob.cn/?post=83
版权声明:若无注明,本文皆为“赵苦瓜のBlog~”原创,转载请保留文章出处。
原神每个版本的下载链接可以在这个仓库找到:
https://github.com/MAnggiarMustofa/GI-Download-Library
可以到别人更新的教程里面看看
另外有些魔改的版本已经把这个自定义页面删掉了换成他写死的页面了,那个就改不了了