ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

Grasscutter 动漫游戏私服资源包部署完全指南:从零配置到正常登录

Grasscutter 动漫游戏私服资源包部署完全指南:从零配置到正常登录 Grasscutter 动漫游戏私服资源包部署完全指南从零配置到正常登录【免费下载链接】GrasscutterA server software reimplementation for a certain anime game.项目地址: https://gitcode.com/GitHub_Trending/gr/Grasscutter你有没有遇到过这种情况服务器 jar 启动成功了游戏却连不上或者进图后场景一片空白、Boss 直接不刷新多数时候问题不在代码而在Grasscutter 资源包没放对位置。Grasscutter 是一款面向某动漫游戏的服务器端重实现软件让你在自己的机器上跑起登录、战斗、祈愿、传送等玩法。它本身不带任何游戏数据必须搭配一套资源包才能运行。这篇指南带你完成三件事把资源包放到正确的位置、让服务器正常启动、并在游戏里验证一切生效。环境准备先装好 Java、MongoDB 和游戏客户端在动手前确认你手上有这三样东西Java 17 或更高版本运行服务器用的运行环境MongoDB 社区版服务器用它存储玩家存档默认连接mongodb://localhost:270174.0.x 版本的游戏客户端⚠️ 特别提醒目前 Grasscutter 只适配到REL4.0.1客户端枫丹版本游戏客户端和服务器版本不能混搭。客户端是 5.x 的话先把版本对齐再往下走否则后面所有步骤都白做。Linux 用户可以直接跑仓库自带的安装脚本 scripts/install/install.sh它会帮你装依赖、下载 jar 和资源包、生成配置和证书省去大部分手动操作。Windows 用户建议用官方的 Cultivation 一键整合包按提示选下载一体化即可。获取服务器代码并编译手动部署时先克隆仓库注意--recurse-submodules子模块里有需要编译的内容git clone --recurse-submodules https://gitcode.com/GitHub_Trending/gr/Grasscutter cd Grasscutter然后用 Gradle 打包产出的 jar 会在项目根目录./gradlew jar # Linux .\gradlew jar # Windows如果 handbook一个内嵌的网页管理面板编译失败不影响服务器本身在命令后追加-PskipHandbook1跳过即可。摆放资源包目录对不对决定服务器能不能启动Grasscutter 启动时会做一次目录体检逻辑写在 src/main/java/emu/grasscutter/utils/Utils.java 的startupCheck里。体检不直接过进程直接退出。对照这张表摆放资源包目录内容缺失的后果resources/BinOutput/二进制配置战斗参数、天赋、场景点位服务器直接退出resources/ExcelBinOutput/游戏表格数据物品、NPC、任务等服务器直接退出resources/ScriptSceneData/场景触发脚本仅告警部分场景内容缺失resources/Server/服务器端自定义资源仅告警data/.tsj/.json/.tsv数据文件技能胚胎、开放配置等会自动创建但建议从仓库data/目录拷贝完整文件keys/加密密钥随仓库一起获取缺失会影响协议加解密资源包解压后把BinOutput、ExcelBinOutput、ScriptSceneData等目录整体放进项目根目录的resources/下。这些路径可以在运行后生成的config.json里调整字段结构见 src/main/java/emu/grasscutter/config/ConfigContainer.java 的Structure类默认值就是./resources/、./data/这样的相对路径。 资源包支持直接给压缩包把resources指向一个.zip文件src/main/java/emu/grasscutter/utils/FileUtils.java 会自动在包内定位ExcelBinOutput并挂载读取省掉解压大文件的麻烦。启动服务器并打开端口目录放好后运行java -jar grasscutter.jar首次启动会在根目录生成config.json配置版本不匹配时会自动升级迁移。两个容易踩的坑端口需要放行443 和 22102tcp udp。Linux 上 443 是特权端口脚本里用的是sudo java -jar grasscutter.jar。证书根目录的keystore.p12里绑定的 IP 必须和你连接时填的 IP 一致否则主菜单点门后会提示 Connection Timed Out。手动部署时用 openssl 按你的服务器 IP 重新生成一份即可install.sh已经内置了这段流程。验证服务器真的跑起来了光看进程活着不够分两步确认。看启动日志。正常启动会先打印Loading Grasscutter...资源加载结束后输出加载完成信息。如果中间出现下面这种报错Cannot load ConfigGlobalCombat.json, this error is important, fix it!说明resources/BinOutput/Common/ConfigGlobalCombat.json缺失或损坏这是全局战斗配置不修好其他功能都是空谈——回去检查资源包是否完整解压。零散的Error loading resource file: [...]则表示某个表格文件读取失败通常是你混用了不同版本的资源包。进游戏实测。用任意用户名登录默认不需要密码然后传送到不同地区确认地图正常加载、没有掉线和 NPC 对话确认对话正常弹出开一局捉迷藏Windtrace活动能正常选角色、进入计时界面就说明活动类脚本加载成功选完角色后应该能看到倒计时和多阶段信息推送协议细节可参考 docs/events/windtrace/README.md进阶优化让维护更省心只想要服务器本体打包时加-PskipHandbook1跳过 handbook 前端构建编译更快。自定义数据优先data/目录里的同名文件会覆盖 jar 内置的默认数据加载顺序见FileUtils里的DATA_PATHS改数值、调掉落就放在这里不用动资源包。Lua 脚本脚本路径默认是resources:Scripts/前缀表示相对资源根目录解析想换位置改config.json即可。版本对齐每次升级服务器资源包必须同步换成对应版本的资源两者不是一套东西没有自动更新可言。常见报错排查现象原因解决办法启动瞬间退出日志提示资源错误BinOutput或ExcelBinOutput缺失按上面的目录表补齐资源包Cannot load ConfigGlobalCombat.json...全局战斗配置缺失检查resources/BinOutput/Common/Error loading resource file: [...]某类表格加载失败核对报错中的资源名确认资源包与服务器同版本主菜单点门后 Connection Timed Outkeystore.p12与连接 IP 不匹配用实际 IP 重新生成证书个别世界 Boss / 活动场景不出现对应场景脚本尚未实现对照 docs/quests/Missing-Scripts.md 确认是否在已知缺失列表里如Oceanid_Boss_1_4、FleurFair_Parachute排查资源加载问题时建议直接翻 src/main/java/emu/grasscutter/data/ResourceLoader.java每个加载步骤的入口和报错点都在这里对着日志就能定位是哪类资源没读进来。写在最后部署的核心其实就三条版本对齐客户端 4.0.x 对服务器 4.0.1、目录摆对BinOutputExcelBinOutput一个都不能少、证书 IP 与连接 IP 一致。做到这三点登录、战斗、祈愿都能正常跑通。更多玩法实现和已知限制可以看 docs/README_zh-CN.md 与docs/目录下的专题文档源码层面的细节则欢迎从ResourceLoader和Utils这两个入口继续读起。【免费下载链接】GrasscutterA server software reimplementation for a certain anime game.项目地址: https://gitcode.com/GitHub_Trending/gr/Grasscutter创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表