【原神】服务端转载分流【更新懒人包 5月15】
本帖最后由 rtb4 于 2022-5-24 18:36 编辑转载自外网:https://github.com/Grasscutters/Grasscutter本服务端支持 PC/iOS 端中国官服 / 国际服,Android 等其他客户端仅支持国际服手工端分流链接: 点击进入
整合包下载地址(5.15更新,转载分流,非原创非作者非官方)
超级懒人包 提取码:giao(下载解压运行start.bat就行) 懒人包教程看最后
5.15更新:新包基于Action#768 修正了768的一些BUG,添加了游戏内GM后台工具,用法:游戏内输入 /wt 接收邮件,进入后台更稳定,增加修改了一些命令,完善了刷怪,部分秘境,深渊,商城,掉落,每日任务等等等
部署服务端环境要求Windows x64 (建议 WS2016 + 最低 WS2012R2,过老版本不保证兼容性;Linux 自行解决:如果你真的有自信用 Linux 搭建我相信你用不着看这篇文档)
Java17 (其他版本)
MongoDB (如果您的服务器性能低或者没有管理需求,可在安装时取消勾选 Compass ;Win10 以下的系统只兼容 4.2 - 版本)
Python3.8+
Mitmproxy (本教程使用此工具演示,也可使用 Fiddler 等流量代理工具)
7-zip 用于解压极限压缩的服务端(压缩后约 102MB,压缩前约 947MB)如服务端与客户端分开在两台机子,则还需确保服务端端口 UDP22102 TCP443 TCP54321 均开启且未被其他程序占用运行服务器启动服务端解压服务端,并进入 grasscutter 文件夹如果您按照我的教程部署,直接双击 run.bat 即可运行服务端;如果安装了其他版本的 java 或者修改了安装位置,请自行修改此文件后再启动,启动前请确保 MongoDB 在运行中
启动后控制台无任何报错,且最后输出 Game Server started on port 22102 字样即为启动成功,有报错请参照本文档最后一章处理服务端不可直接关闭,需输入指令 stop 后再退出;若不小心关闭,在 任务管理器 中找到 Java 相关进程杀掉即可启动代理双击运行 proxy.bat ,如果您不希望其他主机连接到服务端,删除此脚本中的 --set block_global=false 即可;如果希望在其他端口运行代理,右键编辑此文件修改 54321 为你期望的端口即可,如果删除此参数则默认监听 8080 端口,不要使用常见端口避免被攻击,此端口即为客户端系统代理所用端口
代理可直接关闭窗口以停止运行出现 Proxy server listening at http://*:54321 即为启动成功注意,如果您的服务器性能过低,此代理程序可能会假死,手动重启即可 获取证书前往服务端的 设置-网络-代理-手动设置代理 ,设置为 127.0.0.1:54321 后,使用浏览器访问 http://mitm.it 并选择相应证书下载,此证书需要下发给客户端所在机器安装,注意服务器 IP 更换后需要重新下载安装证书注意:这一步服务端开启代理只是为了便于下载证书 (当然你也可以直接去这里复制 %USERPROFILE%\.mitmproxy\mitmproxy-ca-cert.cer ),下载完后请关闭服务端的系统代理,否则无法正常连接服务端创建账号需要使用文末的 account 指令在控制台创建账号才可以登录,当然你也可以根据下节更改配置从而允许不存在的账号自动注册自定义配置config.json
[*]GameServer.Ip DispatchServer.Ip 为准入 IP,建议保持 0.0.0.0
[*]GameServer.PublicIp DispatchServer.PublicIp 为 公网/内网IP (取决于你在公网 / 内网联机),改为 127.0.0.1 即只允许本机连接
GameServer.Name 为你的服务器名称
[*]GameServer.WelcomeEmotes 为进入游戏的欢迎表情 id
[*]GameServer.WelcomeMotd 为进入游戏的欢迎语
[*]DispatchServer.defaultPermissions 为用户默认拥有的权限 (注意是数组),目前版本主要有 server player 两个权限组,建议只给后者
[*]DispatchServer.AutomaticallyCreateAccounts 默认为 false ,如修改为 true ,则允许登陆不存在的账号时自动创建 (不建议)
其他不在此赘述修改卡池卡池配置文件为 .\data\Banners.json ,其中
[*]gachaType=200,scheduleId=893 的为常驻池
[*]gachaType=301,scheduleId=903 的为角色 UP 池 (多 UP: 增加 gachaType 为 302,303,304… 的成员即可)
[*]gachaType=400,scheduleId=913 的为武器 UP 池
本站整合包默认为万达双 UP 及其专武 (专武封面为前者,是客户端内置资源,无法修改)rateUpItems1 为 UP 五星,rateUpItems2 为 UP 四星,对应 id 在 Handbook_CHS.txt 中可以找到需修改 prefabPath previewPrefabPath titlePath 中的 A0** 为对应的卡池 id(在 卡池顺序.xlsx 中)costItem 为抽卡耗费的货币名称,223 为纠缠之缘,224 为相遇之缘(修改可能会引发 bug)beginTime endTime 为卡池开始 / 结束的 10 位时间戳softPity 最少几次出 hardPity 最多几次出 eventChance 歪的概率 % ,如果没有这三个成员自己加上即可bannerType 为 STANDARD 表示常驻池,EVENT 表示角色 UP 池,WEAPON 表示武器 UP 池sortId 可能与卡池展示顺序有关?更新服务端只需 stop 服务端,替换 grasscutter.jar 后启动服务端即可,整合包中的服务端核心为 1.0.0 版本,以后的 release 版本都将在网盘同步上传 jar 包注意有的版本可能需要同步更新相关资源文件,会打包上传,全部覆盖即可连接服务器首次连接需要安装证书Windows 下载 并双击打开相应服务器的证书 -> 安装证书 -> 本地计算机 -> 放入下列…-> 浏览 -> 受信任的根证书颁发机构 -> 完成
Android 下载 pem 格式证书,root 并解锁 system 分区后手动复制到 /system/etc/security/cacerts 并重命名为 c8750f0d.0 即可 (如果安装多个私服的证书,依次把文件命名为 c8750f0d.1 c8750f0d.2 … 即可);如果不能解锁系统分区可参照网盘中我的私服专用的模块制作自己私服的 CA 证书模块,或者安装信任用户证书的模块后直接在 Android 系统设置中安装为用户证书即可
(待测试)无 root 的安卓可尝试直接下载安装用户证书 (分别安装 CA 和 WLAN 证书) 后使用网盘版本游戏客户端
iOS 下载证书后复制到手机并打开点击安装即可,安装完打开系统设置信任刚才安装的证书其他操作系统不提供安装证书教程之后直接如此操作即可进入
[*]修改前先打开游戏客户端检查并完成更新
[*]Windows:前往 设置-网络-代理-手动设置代理 设置代理,服务器 / 端口 按照自己所要连接私服的服务端配置填写,关闭 请勿将代理服务器用于本地地址 ,清空 请勿对以下条目... 编辑框的内容,填写完确定并开启代理,完成后暂时不要关闭页面
Android:前往 系统设置-WLAN 设置当前连接 WiFi 的代理,或前往 移动网络-APN 修改 APN 设置,修改前请自行备份避免出错,完成后暂时不要清后台
iOS:WiFi 类似于 Android,移动网络无法修改 APN
[*]修改完成后启动 国服官服 / 国际服客户端 ,用户名 + 密码 (密码随便填) 即可登录,登录后进入最后白屏加载界面即可关掉代理,务必尽快关闭代理:长时间代理,你流量全走服务器,你电脑和服务器都累,而且还可能会被服务商 ban 机!
每次登录都需要如此操作!开启代理再运行游戏便进入私服,不开启代理运行游戏就是官服Tip:
[*]如果使用的是 国服客户端,启动后有弹窗 (仅 Win) 且登录页面标题为 HOYOVERSE 而不是 miHoYo 即代表成功连接私服;国际服客户端服务器选择界面如只有一个服务器 (默认为 GenshinTJ )(或者没出现服务器选择页面) 而不是 Asia 等四个则成功连接到私服
[*]Windows 如果无法使用系统代理,请尝试使用云盘中的 米哈游代理转向 软件 (易语言开发,报毒属正常现象)
常见问题传送?任意标点并点击确认即可传送至目标上空;传送后不会自动关闭地图,手动关闭地图即可看到如何去金苹果?眼睛稍微往上挪那么一内内看,金苹果地图没亮不用管,传就是了尘歌壶目前看起来去不了角色 id每个角色都有两个 id,长 id 100000xx 只用在 givec 命令中,短 id 10xx 用在其他各处;另外大部分角色各种 id 都是对应的,比如命星 id 为 11xx ,卡池标题和封面为 A0xx控制台指令游戏登陆后默认有一个名为 Server 的好友,此为游戏控制台,可向其发送指令;当然,你也可以在服务端控制台窗口中输入指令;注意部分指令仅可在其中一种途径使用注意:
[*]游戏内发送指令均需加上前缀 ! 或 /
[*]请注意, 使用 | 隔开的指令 / 变量代表两者皆可,使用 <> 括起来的变量必需,使用 [] 括起来的变量可省略 (省略后如 UID 则为你自己,数量 / 等级等则为 1)
[*]指令只有使用下方 permission 指令授权后,相应用户才可使用
示例:如要给用户 UID 114514 原石 x1919810,查阅得知用法 give|g <itemId|itemName> ,原石 id 201 ,则可直接控制台输入 g 114514 201 1919810 / give 114514 201 1919810 ;或者游戏内聊天发送 /g 114514 201 1919810 / !g 114514 201 1919810 ,直接给当前用户的话也可省略 uid指令同步最新版,网盘提供的端不一定可用
命令用法说明权限节点
helphelp [命令]显示帮助或展示指定命令的帮助–
givegive|g < 物品 ID | 物品名称 > [数量] [等级]给予指定玩家一定数量及等级的物品–
givechargivechar <uid> < 角色 ID> [等级]给予指定玩家对应角色player.givechar
giveallgiveall|givea [数量]给予指定玩家全部物品
目前会导致出错,不要使用player.giveall
dropdrop|d <物品 ID | 物品名称> [数量]在指定玩家周围掉落指定物品,仅客户端可用server.drop
spawnspawn <实体 ID | 实体名称> [等级] [数量]在你周围生成实体server.spawn
godmodegodmode 保护你不受到任何伤害 (依然会被击退),仅客户端可用player.godmode
healheal|h治疗队伍中所有角色,仅客户端可用player.heal
talenttalent <天赋 ID> < 等级 >设置当前角色的天赋等级,天赋 id 为 n/e/q,仅客户端可用player.settalent
changescenechangescene|scene <场景 ID>切换到指定场景,仅客户端可用player.changescene
killallkillall [场景 ID]杀死指定玩家世界中所在或指定场景的全部生物server.killall
positionposition|pos获取当前坐标,仅客户端可用–
teleportteleport|tp <x> <y> <z>传送玩家到指定坐标,仅客户端可用player.teleport
setfetterlevelsetfetterlevel|setfriendship <好感等级>设置当前角色的好感等级,仅客户端可用player.setfetterlevel
resetconstresetconst 重置当前角色的命座,重新登录即可生效,仅客户端可用player.resetconstellation
setstatssetstats|stats <属性> < 数值 >直接修改当前角色的面板,可用的属性有 hp 生命值 def 防御力 atk 攻击 em 元素精通 er 元素充能 crate 暴击率 cdmg 暴击伤害 epyro 火伤 ecryo 冰伤 ehydro 水伤 egeo 岩伤 edend 草伤 eelec 雷伤 ephys 物伤,仅客户端可用player.setstats
setworldlevelsetworldlevel <世界等级>设置世界等级 (重新登陆即可生效),仅客户端可用player.setworldlevel
clearartifactsclearartifacts|clearart删除所有未装备及未解锁的圣遗物,包括五星,仅客户端可用player.clearartifacts
clearweaponsclearweapons|clearwp删除所有未装备及未解锁的武器,包括五星,仅客户端可用player.clearweapons
tpalltpall传送多人世界中所有的玩家到自身地点,仅客户端可用player.tpall
weatherweather|w <天气 ID> < 气候 ID>改变天气,仅客户端可用player.weather
命令用法说明权限节点
关于各种 id 都在 Handbook_CHS.txt , 文本编辑器 (推荐 VS Code 等,Win 自带记事本无法完全搜索内容) 打开后 Ctrl+F 即可搜索(在我的私服中) 以下指令仅管理员可用,请勿尝试使用
命令用法说明权限节点
accountaccount <create|delete> < 用户名 > 通过指定用户名和 uid 增删账户,仅服务端可用–
broadcastbroadcast|b <消息内容>给所有玩家发送公告server.broadcast
saysay <uid> < 消息 >作为服务器发送消息给玩家server.sendmessage
coopcoop <uid>强制某位玩家进入指定玩家的多人世界server.coop
kickkick 从服务器中踢出指定玩家 (WIP)server.kick
listlist列出在线玩家–
permissionpermission <add|remove> < 用户名 > < 权限节点 (* 为所有)>添加或移除玩家的权限*
reloadreload重载服务器配置server.reload
restartrestart重启服务端–
stopstop停止服务器server.stop
懒人包教程:
真牛,原神都有了 任务修复了吗 期待有大佬给做成一键版的。。。 好 好 好长的教程! 这么厉害的吗??????????????????? 期待大佬一键端,这么多字,不是大佬不能理解 不玩纯顶 视频教程及环境设置有教程吗? 大佬厉害了,这是完整端还是以前那种只能抽卡的旅游端? 太难了吧........看完就不想弄了 原神,NBBLS 跪求大佬出一键端 期待大佬们的一键端。: 感谢分享!!! 有空研究一下 : 不错的帖子 为什么这么牛逼,大佬能整个QQ三国出来吗。 原神国际服转载分流 好顶!真的牛逼