文章转载于网络,侵权请联系邮箱:moeyy@qq.com

教程适合windows系统

基于 Grasscutter: https://github.com/Grasscutters/Grasscutter

如何自己制作一个原神服务端:https://moeyy.cn/2084

需要下载的内容

原神国际版:下载地址 (好像要挂加速器下载)

原神服务端stable包:下载地址,dev包:下载地址

JAVA8u202:下载地址 (适用于 stable版本)

Mongodb5.0.7:下载地址

Fiddler:下载地址

java版本的话,dev和stable用的不是一个版本。
stable使用JAVA版本:https://mirrors.huaweicloud.com/java/jdk/8u202-b08/
dev使用JAVA版本:https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html

下载完成后先安装好JAVA、Mongodb和Fiddler,并把原神客户端解压到某个文件夹里。

转发步骤

先安装好国际版原神,验证好完整性。启动游戏并登录好账号,等待下载资源完成出现一扇门即可关闭游戏。

打开fiddler,先把代理端口更换,不要使用默认端口防止冲突。更换位置:tools options connections

转到HTTPS选项,开启解密HTTPS选项,会要求安装什么什么证书,点是就完事了。

然后打开rules customize rules,复制我下方的规则进去然后crtl+s保存

import System;
import System.Windows.Forms;
import Fiddler;
import System.Text.RegularExpressions;

class Handlers
{
static function OnBeforeRequest(oS: Session) {
      if(oS.host.EndsWith(".yuanshen.com") || oS.host.EndsWith(".hoyoverse.com") || oS.host.EndsWith(".mihoyo.com")) {
      oS.host = "localhost";
      }
  }
};

启动原神服务端

先检查一下mongodb服务是否开启,可以查看任务管理器找。

进入原神服务端文件夹,点击start.cmd,如果没有报错如图所示即开启成功。

在命令行内输入指令创建账号:account create moeyy 1 (moeyy可替换成其他)

创建成功后打开原神进入游戏

遇到这种弹窗直接点YES(原神登录窗出来了再点会弹4209错误,需要重新启动原神),然后会弹出一个登录页面,账号输入moeyy,也就是你刚才注册的名字,密码随便输入。

登录后会显示大门,直接点进去即可。好友列表中有一个名为“Server”的虚拟用户,可以在里面执行GM命令

基本GM指令

命令用法权限节点可用性注释 别名
accountaccount <create|delete> <用户名> [uid]仅服务端通过指定用户名和uid增删账户
broadcastbroadcast <消息内容>server.broadcast均可使用给所有玩家发送公告b
changescenechangescene <场景ID>player.changescene仅客户端切换到指定场景scene
clearartifactsclearartifactsplayer.clearartifacts仅客户端删除所有未装备及未解锁的圣遗物,包括五星clearart
clearweaponsclearweaponsplayer.clearweapons仅客户端删除所有未装备及未解锁的武器,包括五星clearwp
dropdrop <物品ID|物品名称> [数量]server.drop仅客户端在指定玩家周围掉落指定物品d dropitem
givegive [uid] <物品ID|物品名称> [数量] [等级]给予指定玩家一定数量及等级的物品g item giveitem
givechargivechar <角色ID> [等级]player.givechar均可使用给予指定玩家对应角色givec
godmodegodmode [uid]player.godmode仅客户端保护你不受到任何伤害(依然会被击退)
healhealplayer.heal仅客户端治疗队伍中所有角色h
helphelp [命令]均可使用显示帮助或展示指定命令的帮助
killallkillall [uid] [场景ID]server.killall均可使用杀死指定玩家世界中所在或指定场景的全部生物
listlist均可使用列出在线玩家
permissionpermission <add|remove> <用户名> <权限节点>*均可使用添加或移除玩家的权限
positionposition仅客户端获取当前坐标pos
resetconstresetconst [all]player.resetconstellation仅客户端重置当前角色的命座,重新登录即可生效resetconstellation
saysay <消息>server.sendmessage均可使用作为服务器发送消息给玩家sendservmsg sendservermessage sendmessage
setfetterlevelsetfetterlevel <好感等级>player.setfetterlevel仅客户端设置当前角色的好感等级setfetterlvl setfriendship
setstatssetstats <属性> <数值>player.setstats仅客户端直接修改当前角色的面板stats
setworldlevelsetworldlevel <世界等级>player.setworldlevel仅客户端设置世界等级(重新登陆即可生效)setworldlvl
spawnspanw <实体ID|实体名称> [等级] [数量]server.spawn仅客户端在你周围生成实体
talenttalent <天赋ID> <等级>player.settalent仅客户端设置当前角色的天赋等级
teleportteleportplayer.teleport仅客户端传送玩家到指定坐标tp
weatherweather <天气ID> <气候ID>player.weather仅客户端改变天气w

物品对应的ID大全下载:下载地址

进阶

彩色昵称和签名

Unity 默认支持彩色文本(请参阅Unity 手册了解更多信息)

<color=color>text</color>通过用or替换它们,<color=#HEXCODE>text</color>您可以更改大多数(如果不是全部)字符串的颜色。

无法直接在游戏中执行此操作,您必须使用 MongoDBCompass 之类的工具来编辑数据库!

  1. 打开 MongoDBCompass 并连接到您的数据库
  2. grasscutter/players
  3. 进行更改。里面playerProfile也换!
    例如 nickname: "<color=#ff9ec6>na.na</color>"
    signature: "Running on <color=green>Grasscutter</color>!"
  4. 更新文档
  5. 重新登录以查看更改

享受你多彩的名字:火花:

头像/角色

如果您有角色/武器,建议您使用本指南。如果你想获得 Z 级的角色,那么使用 !givechar [avatarID] [level]

改变等级/提升/天赋

确保您已使用头像/角色创建了一个帐户。

  1. 打开MongoDBCompass
  2. 连接到主机(默认 URI 是mongodb://localhost:27017
  3. 导航到数据库 > grasscutter>avatars
  4. (可选)将视图设置为JSON View
  5. 过滤器字段中,输入您尝试修改的头像 ID{ avatarId: X }在哪里。头像 ID 为 8 位数字。X
  6. 单击该字段旁边的查找。
  7. 过滤文档后,编辑文档
    1. 要更改字符级别,请更改旁边的值"level"
    2. 要更改角色提升"promoteLevel",请更改 Check Wiki for acension values旁边的值
    3. 改变人才,拓展"proudSkillList"
      1. 要解锁头像的1st Ascension Passive,请在里面添加 XX2101 "proudSkillList",其中XX 是头像 ID 的最后 2 位数字确保,为每一行添加一个。
      2. 要解锁头像的4th Ascension Passive,请执行与之前相同的操作,但替换21012201
  8. 编辑后,您现在可以替换

例子

JSON 视图中的文档,头像 ID 为 10000058,等级 90,提升阶段 6,所有天赋均已解锁。

笔记

  • 在 的最后一行"proudSkillList",不再需要 a。
  • 替换文档后,请确保重新启动服务器以使更改生效。

武器

确保您已经使用武器创建了一个帐户。

  1. 打开MongoDBCompass
  2. 连接到主机(默认 URI 是mongodb://localhost:27017
  3. 导航到数据库 > grasscutter>items
  4. (可选)将视图设置为JSON View
  5. 过滤器字段中,输入{ itemId: Y }Y尝试修改的物品/武器 ID 的位置。武器 ID 为 5 位数字。
  6. 单击该字段旁边的查找。
  7. 过滤文档后,编辑文档
    1. 要更改武器等级,请更改旁边的值"level"
    2. 要更改武器提升"promoteLevel",请更改 Check Wiki for acension values旁边的值
    3. 要更改细化,请更改旁边的值"refinement"
      • 细化等级 1 = 0
      • 细化等级 2 = 1
      • 精炼等级 3 = 2
      • 精炼等级 4 = 3
      • 精炼等级 5 = 4
  8. 编辑后,您现在可以替换

例子

JSON 视图中的文档,其武器 ID 为 12503,级别 90,提升阶段 6,精炼等级 5。

启动顺序:Mongodb > Grasscutter > fiddler > Client

常见问题

圣遗物词条缺少解决方法:https://github.com/Grasscutters/Grasscutter/issues/259

dev包(新增掉落和刷怪):https://github.com/Grasscutters/Grasscutter/tree/development

Fiddler常见问题

遇到这种黄条就是没开启来,点一下就行了,看到就点。

dev包(新增掉落和刷怪)(一键包文章顶部有下载地址):https://github.com/Grasscutters/Grasscutter/tree/development

start.cmd一闪而过就打开cmd,到服务端目录下执行

java -jar grasscutter.jar

dev版本执行

java -jar grasscutter-1.0.0-dev.jar

mongodb安装70卡住 或者安装不动可以挂代理安装。


一条有远大理想的咸鱼