本文仅供学习交流,严禁用于商业用途,侵权联系或评论我删除

RainKavik Blog

Grasscutter-Linux服务端搭建

Grasscutter-常见问题

RainKavik-Drive(国内网盘)

OneDrive(备用网盘)

解压密码均为: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

服务端下载路径

运行服务端:

下载完解压得到以下文件

请输入图片描述

修改config.json(本地跳过,服务器和局域网必须更改)

必改:"server-accessAddress": "127.0.0.1"

必改:"game-accessAddress": "127.0.0.1"

两个 127.0.0.1,更改为服务器公网IP或者局域网IPV4地址

IPv4地址获取:任务管理器-性能-以太网(WIFI)-右下角IPV4

修改完成切记保存关闭

请输入图片描述

运行 run.bat

显示 加载完成!输入 "help" 查看命令列表即代表开服成功,显示其他请看常见问题。

run.bat启动成功示例图

请输入图片描述

放行端口(本地和局域网跳过此步)

登录你的服务器管理后台-防火墙-添加防火墙规则

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文件夹应该有以下两个文件

emmm,我懒得换图片了

Windows连接服务器:

这里一共提供多种方法,任选其一,切记所有代理软件都需要已管理员身份运行。

mhy代理转向

下载地址:网盘/代理软件/mhy代理转向.zip

地址:127.0.0.1:443

代理端口:留空!!!!!!!!!!

地址填写说明:IP:443端口(Dispatch端口),切记使用英文符号

代理设置示例图

Genshin代理助手

下载地址:网盘/代理软件/Genshin代理助手.zip

地址:本机搭建填写 127.0.01 服务器搭建填写 服务器公网IP 端口 443

填写完成-启动代理

请输入图片描述

客户端连接

双击打开 YuanShen.exeGenshinImpact.exe,启动客户端

在服务器 run.bat运行窗口输入以下语法进行账户注册

语法:account create 登录账号 UID
例如:account create rainkavik 10000

返回客户端输入你注册的账号,密码可随便填

进到游戏内,立即关闭代理 :长时间代理,你流量全走服务器,你电脑和服务器都累,而且还可能会被服务商 ban 机!

补充说明:

指令使用说明

以下两种方式都需要对应插件的支持,网盘服务端已经内置。

PC玩家请搭配 GrasscutterTools指令工具使用

下载地址:网盘\其他\GrasscutterTools-v1.6.6.exe

手机玩家在游戏内输入/wt获得指令邮件(pc端适用)

最新版本需要使用指令点亮地图:/prop unlockmap 1

网盘内的视频教程可能已经过时,请添加频道获得安卓和pc视频

(频道只有链接服务器视频,没有搭建视频,懒癌晚期,别叫了!)

其他

config.json,请不要直接复制使用,作者Macye

{
  "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

传送?

用鱼钩(最后一个图标)在地图上标记一个点位并点击确认即可传送至目标上空;在名称填写数字可更改传送高度。

问题解答/取得支持

QQ频道链接

If the link to join the group does not work, please send an email to contact

关于

本服务端基于开源项目 Grasscutter

Last modification:December 4, 2022
如果觉得我的文章对你有用,请随意赞赏