dnfb dnxm dnxg dndy

【原神】服务端转载分流【更新懒人包 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 [player] <itemId|itemName> [amount] ,原石 id 201 ,则可直接控制台输入 g 114514 201 1919810 / give 114514 201 1919810 ;或者游戏内聊天发送 /g 114514 201 1919810 / !g 114514 201 1919810 ,直接给当前用户的话也可省略 uid 指令同步最新版,网盘提供的端不一定可用 [td]

命令 用法 说明 权限节点
help help [命令] 显示帮助或展示指定命令的帮助
give give|g [uid] < 物品 ID | 物品名称 > [数量] [等级] 给予指定玩家一定数量及等级的物品
givechar givechar <uid> < 角色 ID> [等级] 给予指定玩家对应角色 player.givechar
giveall giveall|givea [uid] [数量] 给予指定玩家全部物品
目前会导致出错,不要使用
player.giveall
drop drop|d <物品 ID | 物品名称> [数量] 在指定玩家周围掉落指定物品,仅客户端可用 server.drop
spawn spawn <实体 ID | 实体名称> [等级] [数量] 在你周围生成实体 server.spawn
godmode godmode [uid] 保护你不受到任何伤害 (依然会被击退),仅客户端可用 player.godmode
heal heal|h 治疗队伍中所有角色,仅客户端可用 player.heal
talent talent <天赋 ID> < 等级 > 设置当前角色的天赋等级,天赋 id 为 n/e/q,仅客户端可用 player.settalent
changescene changescene|scene <场景 ID> 切换到指定场景,仅客户端可用 player.changescene
killall killall [uid] [场景 ID] 杀死指定玩家世界中所在或指定场景的全部生物 server.killall
position position|pos 获取当前坐标,仅客户端可用
teleport teleport|tp <x> <y> <z> 传送玩家到指定坐标,仅客户端可用 player.teleport
setfetterlevel setfetterlevel|setfriendship <好感等级> 设置当前角色的好感等级,仅客户端可用 player.setfetterlevel
resetconst resetconst [all] 重置当前角色的命座,重新登录即可生效,仅客户端可用 player.resetconstellation
setstats setstats|stats <属性> < 数值 > 直接修改当前角色的面板,可用的属性有 hp 生命值 def 防御力 atk 攻击 em 元素精通 er 元素充能 crate 暴击率 cdmg 暴击伤害 epyro 火伤 ecryo 冰伤 ehydro 水伤 egeo 岩伤 edend 草伤 eelec 雷伤 ephys 物伤,仅客户端可用 player.setstats
setworldlevel setworldlevel <世界等级> 设置世界等级 (重新登陆即可生效),仅客户端可用 player.setworldlevel
clearartifacts clearartifacts|clearart 删除所有未装备及未解锁的圣遗物,包括五星,仅客户端可用 player.clearartifacts
clearweapons clearweapons|clearwp 删除所有未装备及未解锁的武器,包括五星,仅客户端可用 player.clearweapons
tpall tpall 传送多人世界中所有的玩家到自身地点,仅客户端可用 player.tpall
weather weather|w <天气 ID> < 气候 ID> 改变天气,仅客户端可用 player.weather
命令 用法 说明 权限节点

关于各种 id 都在 Handbook_CHS.txt , 文本编辑器 (推荐 VS Code 等,Win 自带记事本无法完全搜索内容) 打开后 Ctrl+F 即可搜索
(在我的私服中) 以下指令仅管理员可用,请勿尝试使用 [td]

命令 用法 说明 权限节点
account account <create|delete> < 用户名 > [uid] 通过指定用户名和 uid 增删账户,仅服务端可用
broadcast broadcast|b <消息内容> 给所有玩家发送公告 server.broadcast
say say <uid> < 消息 > 作为服务器发送消息给玩家 server.sendmessage
coop coop <uid> 强制某位玩家进入指定玩家的多人世界 server.coop
kick kick [uid] 从服务器中踢出指定玩家 (WIP) server.kick
list list 列出在线玩家
permission permission <add|remove> < 用户名 > < 权限节点 (* 为所有)> 添加或移除玩家的权限 *
reload reload 重载服务器配置 server.reload
restart restart 重启服务端
stop stop 停止服务器 server.stop

懒人包教程:

QQ截图20220502140524.jpg (632.53 KB, 下载次数: 90)

下载附件

2022-5-2 14:06 上传

QQ图片20220502140810.jpg (415.39 KB, 下载次数: 0)

下载附件

2022-5-2 14:09 上传


QQ截图20220502141108.jpg (436.63 KB, 下载次数: 0)

下载附件

2022-5-2 14:11 上传


QQ截图20220502141131.jpg (565.89 KB, 下载次数: 0)

下载附件

2022-5-2 14:12 上传


QQ截图20220502141206.jpg (388.97 KB, 下载次数: 0)

下载附件

2022-5-2 14:12 上传

© 版权声明
THE END
请登录后发表评论

    没有回复内容

相关推荐