【原神】知名二次元游戏Grasscutter常见问题及Config.json配置文件以及服务端命令详解

首页 / 技术栈 / 正文

配置文件释义

根据这篇文章对配置文件进行修改,更加高度的定制自己的游戏体验,值得注意的是,服务端每次的大版本更新都会使得配置文件发生迭代,博主解释的是最后一行Version为3的文件版本,无论迭代多少次,其核心内容不会变

修改此文章时,配置已经迭代到4了,但是核心并未变化
config.json文件部分基本释义
// 载入预设的配置文件,一般不用修改
{
  "folderStructure": {
    "resources": "./resources/",
    "data": "./data/",
    "packets": "./packets/",
    "keys": "./keys/",
    "scripts": "./resources/scripts/",
    "plugins": "./plugins/"
  },
    //数据库连接信息
  "databaseInfo": {
    "server": {
      "connectionUri": "mongodb://localhost:27017",
      "collection": "grasscutter"
    },
    "game": {
      "connectionUri": "mongodb://localhost:27017",
      "collection": "grasscutter"
    }
  },
    //语言
  "language": {
    "language": "zh_CN",
    "fallback": "en_US"
  },
    //当本选项设置为true时,进入游戏的登录框无需提前使用account create xxx 123 预注册,没有的账号将会自动注册
  "account": {
    "autoCreate": false,
    "defaultPermissions": []
  },
    //此部分主要配置服务端启动信息
  "server": {
      // 测试信息,主要调试时使用,日常使用默认为none即可
    "debugLevel": "NONE",
      //类型:'HYBRID' | 'DISPATCH_ONLY' | 'GAME_ONLY'
     // HYBRID: 同时运行负载均衡服务器和游戏服务器
    //  DISPATCH_ONLY: 仅运行负载均衡服务器
   //   GAME_ONLY: 仅运行游戏服务器
      //如果负载均衡与游戏服务器分开部署的话,就可以在此处做出相应的配置
    "runMode": "HYBRID",
    "http": {
        // 绑定的ip地址,默认即可为任意
      "bindAddress": "0.0.0.0",
        // 外网IP地址,当你想在局域网玩的话,就需要填写服务器对外ip
      "accessAddress": "127.0.0.1",
        // 通讯ssl端口,家用不需要改,依照本文章所示,如果你部署在服务器则需要更改一下,因为服务器443端口一般都被占用了
      "bindPort": 443,
      "accessPort": 0,
        // 此项主要是加密证书验证,对应的就是目录中的那个证书文件,默认不需要动他
      "encryption": {
        "useEncryption": true,
        "useInRouting": true,
        "keystore": "./keystore.p12",
        "keystorePassword": "123456"
      },
        // 欢迎补充
      "policies": {
        "cors": {
          "enabled": false,
          "allowedOrigins": [
            "*"
          ]
        }
      },
        // 游戏内菜单的功能链接.替换此地址,可以更换为你自己写好的html页面
      "files": {
        "indexFile": "./index.html",
        "errorFile": "./404.html"
      }
    },
      // 此项是服务端运行游戏的配置
    "game": {
        // 同类绑定ip用
      "bindAddress": "0.0.0.0",
        // 外网IP地址,当你想在局域网玩的话,就需要填写服务器对外ip,与上面一同配置
      "accessAddress": "127.0.0.1",
        // 游戏启动端口,默认不需要更改
      "bindPort": 22102,
      "accessPort": 0,
        //更改游戏内的一些仓库的默认最大量
      "gameOptions": {
        "inventoryLimits": {
            // 库存武器的最大值
          "weapons": 2000,
            // 库存圣遗物的最大值
          "relics": 2000,
            // 库存材料的最大值
          "materials": 2000,
            // 库存家具的最大值
          "furniture": 2000,
            // 总库存的最大值
          "all": 30000
        },
          // 联机角色与角色配对最大值
        "avatarLimits": {
          "singlePlayerTeam": 4,
          "multiplayerTeam": 4
        },
          // 世界最大的怪物限制
        "worldEntityLimit": 1000,
          // 不太清楚,欢迎补充
        "watchGachaConfig": false,
          // 是否开启商店
        "enableShopItems": true,
        "staminaUsage": true,
        "rates": {
          "adventureExp": 1.0,
          "mora": 1.0,
          "leyLines": 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": [
            {
                // 赠送的物品id
              "itemId": 13509,
                // 赠送的数量
              "itemCount": 1,
                // 赠送的等级
              "itemLevel": 1
            },
            {
              "itemId": 201,
              "itemCount": 99999,
              "itemLevel": 1
            }
          ]
        }
      },
        // 控制台信息
      "serverAccount": {
          // 控制台玩家头像
        "avatarId": 10000007,
          // 忘记了  知道的联系我一下哈
        "nameCardId": 210001,
          // 冒险等级
        "adventureRank": 1,
          // 世界等级
        "worldLevel": 0,
          // 控制台游戏内显示昵称
        "nickName": "Server",
          // 控制台玩加的签名信息
        "signature": "Welcome to Grasscutter!"
      }
    },
    "dispatch": {
      "regions": [],
      "defaultName": "Grasscutter"
    }
  },
    // config.json配置文件的版本信息,根据迭代,版本信息会变化,内部的排版也会变化,这个已经是更换后的版本,之前网上最多的是2
  "version": 3
}

服务端文件命令参考

在每个玩家的朋友列表中都有一个名为“Server”的虚拟用户,你可以通过发送消息来使用命令。命令也适用于其他聊天室,例如私人/团队聊天。
要在游戏中使用命令,需要添加 /! 前缀,如 /pos

命令已经被集成为可视化工具,推荐使用此插件

常见问题处理

常见问题内容大部分引用自其他博客文章,因为文章溯源问题,太多相似文档导致我不知先后,所以此部分保持疑问,如果您有疑问或者想认领,欢迎联系我
yangchengcaizi@163.com

Q:进不去游戏、跳验证码等

A:停停停,检测到你可能是大聪明,进私服需要开着电脑代理才行,不想玩私服了把代理都关了就还原了。
A:多人联机时请保证PublicIp里的IP参数与终端系统代理里的IP参数一致,PublicIp负责告诉这些设备服务器IP地址是什么,所以务必保证准确无误!
A:如果服务器主机需要参与游戏本机代理可以不用改,127.0.0.1就好了。

Q:4206

A:在您能顺利完成前置任务时本问题不应出现,如果还是出现了请自查代理问题、证书问题。

Q:服务器无法开启 - Windows Server系统

A:Nginx或其他类似软件服务会占用端口,尝试修改config.json > "Port": 443,为其他端口。

Q:启动服务器后控制台乱码

A:本问题汉化端限定
右键编辑run.bat按如下代码框修改文中代码

@echo off
chcp 936 //插入本条指令,双斜杠和后面的这一段话别复制!
set JAVA_EXE="C:\Program Files\BellSoft\LibericaJDK-17\bin\java.exe"
%JAVA_EXE% -jar grasscutter.jar

Q:服务端启动报错

A:请注意 VMWare 或 Nginx 会导致443端口被占用,如果无法解除占用请尝试修改 config.json 中的端口,同时修改 proxy_config.py 中的端口
报错详细图片请前往该大佬的博客查阅#常见故障TomyJan's BLOG:GenshinTJ

Q:开启代理后还是登录了官服,跳验证码等

A:魔法把端口占用了导致代理失败

Q:4206

A:电脑与Mitmproxy代理问题、keystore.p12证书问题,如果代理没有报错,则应为服务端问题,检查服务端配置或者更新服务端,具体内容请自查。

Q:502 / 4301 / 无法连接服务器

A:绝对是你没正确配置,自行检查

Q:4201

A:检查是否正确安装并信任证书

Q:-9203

A:一般为代理问题,已知 iOS 使用小火箭会存在此问题
A:使用https解密生成并信任证书解决 < 来自群友

Q:进门后连接超时

A:他奶奶滴,为什么不开放UDP22102端口!

Q:仍有其他问题

我这几篇文章都有参考资料,去看看那些巨人们的智慧吧,部分文档是站在他们的肩膀上完成的

快速排除问题

  • 如果编译未能成功,请检查您的jdk安装 (JDK 17并确认jdk处于环境变量PATH
  • 我的客户端无法登录/连接, 4206, 其它... - 大部分情况下这是因为您的代理存在问题.如果使用Fiddler请确认Fiddler监听端口不是8888
  • 启动顺序: MongoDB > Grasscutter > 代理程序 (mitmdump, fiddler等.) > 客户端
无标签
评论区
头像
文章目录