帮助文档
专业提供香港服务器、香港云服务器、香港高防服务器租用、香港云主机、台湾服务器、美国服务器、美国云服务器vps租用、韩国高防服务器租用、新加坡服务器、日本服务器租用 一站式全球网络解决方案提供商!专业运营维护IDC数据中心,提供高质量的服务器托管,服务器机房租用,服务器机柜租用,IDC机房机柜租用等服务,稳定、安全、高性能的云端计算服务,实时满足您的多样性业务需求。 香港大带宽稳定可靠,高级工程师提供基于服务器硬件、操作系统、网络、应用环境、安全的免费技术支持。
服务器资讯 / 香港服务器租用 / 香港VPS租用 / 香港云服务器 / 美国服务器租用 / 台湾服务器租用 / 日本服务器租用 / 官方公告 / 帮助文档
Ubuntu搭建原神3.7版本服务器
发布时间:2024-03-07 03:03:10   分类:帮助文档
Ubuntu搭建原神3.7版本服务器




本文涉及知识点 linux基础命令|mongoDB服务端搭建及指令|Java环境搭建 为了学习以上提到的技术,本文只以元神私服做LINUX MongoDB java教学例子
写在前面
常识性问题
关于有部分读者反馈3.6下载地址打不开的问题,因为下载地址是GitHub的。如果你只是原神玩家,而发现打不开GitHub的话,可以参照我这篇文章https://mp..net/mp_blog/creation/editor/127619574。 如果你是同行,问我为什么Github打不开,那你就要反思一下自己平时都在干什么了,在这行属于常识性问题了
数据库安全(特别注意)
我数据库专门给这个原神装的,没设密码,所以被小鬼给删库了,我说数据库怎么老是消失呢,你们记得设好密码哈,我就放了一个原神,他删不删无所谓。懒得去专门处理了,就这样吧! MongoDB的密码和MySQL的不一样,是单独一个库有独立的账号密码 特地修了一下,设置了下密码。 感谢@Yolan_133的补充 设置密码后链接数据库格式为
"databaseInfo": {
"server": {
"connectionUri": "mongodb://username:password@localhost:27017",
"collection": "grasscutter"
},
"game": {
"connectionUri": "mongodb://username:password@localhost:27017",
"collection": "grasscutter"
}
}

https://github.com/Grasscutters/Grasscutter/issues/1241

材料准备
UbuntuMongodbGrasscutters 地址GitHub
搭建方法
ssh登录你的服务器 进入一个目录创建一个文件夹储存服务端,推荐home
sudo cd home
sudo mkdir Grasscutter

将服务端放进去(服务端末尾提供)图为目录文件树,通过tree命令生成的
配置Java环境,此处直接下载Java,然后启动时使用下载的Java,防止环境出问题不好修复 创建一个文件夹放Java,我这里放到了home文件夹
mkdir /home/java

进入这个目录
cd /home/java

下载Java并解压
wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz

tar -zxvf jdk-17_linux-x64_bin.tar.gz

此时目录下会有一个jdk文件夹 java的可执行文件就在这里面,具体是在jdk-17.0.6/bin这里面
/home/java/jdk-17.0.6/bin

安装MongoDB,直接用apt就好了
sudo apt-get install mongodb

装好以后会自动运行mongod程序,可以通过命令查看进程是否已经启动
pgrep mongo -l

输入mongo进入数据库操作界面再创建一个root用户,下面为创建管理员账户的命令
db.createUser({user: "root",pwd: "114514", roles: [ { role: "root", db: "admin" } ]})

查看是否创建成功
db.auth("root", "114514") #返回1,则表示成功

修改配置文件,使能够外网访问(这一步无所谓,主要是教怎么使用其他机子连接这个数据库,不改的话只能自己机子连127.0.0.1)
nano /etc/mongodb.conf

将bindip修改为0.0.0.0,然后ctrl+o保存 ctrl+x退出nano编辑器 到这里服务端环境配置完成 输入下面指令重启数据库以应用修改后的配置
sudo service mongodb restart

可以见到 进去这个文件夹,可以见到resources文件内容都在里面
在配置文件那给资源文件路径换到你放的路径
如何偷懒
随便找个地方git一下这个resources文件,我这里放到了原神服务端文件夹 拉取仓库
git clone https://gitlab.com/YuukiPS/GC-Resources

就是这样的,我这里放到了服务端目录,所以填的是相对路径
{
"folderStructure": {
"resources": "./GC-Resources/Resources",
"data": "./data/",
"packets": "./packets/",
"scripts": "resources:Scripts/",
"plugins": "./plugins/"
},

这个仓库我进去看了他一直在更新,应该会一直更新的吧? 更新版本时更新资源文件 进入GC-Resources 目录,拉取最新版本:
git pull

学会偷懒
服务端启动方法
进入服务端目录
cd /home/Grasscutter

执行服务端文件,用之前下载的java17
/home/java/jdk-17.0.6/bin/java -jar grasscutter-1.4.6.jar


服务端配置文件的修改(目录下的config.json)
{
"folderStructure": {
"resources": "./resources/", //这里可以自定义resources路径,末尾会提到更方便的更新资源文件
"data": "./data/",
"packets": "./packets/",
"scripts": "resources:Scripts/",
"plugins": "./plugins/"
},
"databaseInfo": {
"server": {
"connectionUri": "mongodb://服务器ip:27017",//如果有设置密码参考引言
"collection": "grasscutter"
},
"game": {
"connectionUri": "mongodb://服务器ip:27017",
"collection": "grasscutter"
}
},
"language": {
"language": "zh_CN",
"fallback": "en_US",
"document": "EN"
},
"account": {
"autoCreate": true,
"EXPERIMENTAL_RealPassword": false,
"defaultPermissions": [],
"maxPlayer": -1
},
"server": {
"debugWhitelist": [],
"debugBlacklist": [],
"runMode": "HYBRID",
"logCommands": false,
"http": {
"bindAddress": "0.0.0.0",
"bindPort": 连接端口我这里填的是是6443,
"accessAddress": "你的服务器ip",
"accessPort": 0,
"encryption": {
"useEncryption": true,
"useInRouting": true,
"keystore": "./keystore.p12",
"keystorePassword": "123456"
},
"policies": {
"cors": {
"enabled": false,
"allowedOrigins": [
"*"
]
}
},
"files": {
"indexFile": "./index.html",
"errorFile": "./404.html"
}
},
"game": {
"bindAddress": "0.0.0.0",
"bindPort": 22102,
"accessAddress": "你的服务器ip",
"accessPort": 0,
"loadEntitiesForPlayerRange": 100,
"enableScriptInBigWorld": false,
"enableConsole": true,
"kcpInterval": 20,
"logPackets": "NONE",
"isShowPacketPayload": false,
"isShowLoopPackets": false,
"gameOptions": {
"inventoryLimits": {
"weapons": 2000,
"relics": 2000,
"materials": 2000,
"furniture": 2000,
"all": 30000
},
"avatarLimits": {
"singlePlayerTeam": 40,
"multiplayerTeam": 4
},
"sceneEntityLimit": 1000,
"watchGachaConfig": false,
"enableShopItems": true,
"staminaUsage": true,
"energyUsage": true,
"fishhookTeleport": true,
"resinOptions": {
"resinUsage": false,
"cap": 160,
"rechargeTime": 480
},
"rates": {
"adventureExp": 1.0,
"mora": 1.0,
"leyLines": 1.0
}
},
"joinOptions": {
"welcomeEmotes": [
2007,
1002,
4010
],
"welcomeMessage": "欢迎来到天理的世界",
"welcomeMail": {
"title": "这里填标题!",
"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": [
{
"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",
"logRequests": "NONE"
},
"debugMode": {
"serverLoggerLevel": {
"levelInt": 10000,
"levelStr": "DEBUG"
},
"servicesLoggersLevel": {
"levelInt": 20000,
"levelStr": "INFO"
},
"logPackets": "ALL",
"isShowPacketPayload": false,
"isShowLoopPackets": false,
"logRequests": "ALL"
}
},
"version": 4
}

如果你按照我的配置来,那么 MongoDB的管理员账户是root密码是114514,连接端口是27017 下载的Java17在这个目录下/home/java/jdk-17.0.6 原神服务端所在目录是/home/Grasscutter,私服连接到服务器的端口是6443
原神客户端连接,电脑版,没有手机版因为带不动
前置操作:先打补丁,将这个目录下的C:\Genshin Impact\Genshin Impact Game\mhypbase.dll这个文件替换成我给你的同名称的那个文件
方法一
这个是我在哪个群里面看到的,不记得了,有知道的请私信我项目地址,我会添加上的。 下载地址 原神代理转向 项目地址: 还没找到
方法二
打开Fiddler代理软件,点击tools 点击options 点击https并按照我图中一样打勾勾 返回主页面,点击右侧图中位置 将里面所有东西删掉,复制我的进去
/* Original script by NicknameGG, modified for Grasscutter by contributors. */
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 = "ip:6443"; // This can also be replaced with another IP address.(输入域名也可)
}
if(oS.uriContains("http://uspider.yuanshen.com:8888/log")){
oS.oRequest.FailSession(200, "Blocked", "haha");
}
}
};

点击save script保存,这时候代理就自动运行了 进入C:\Genshin Impact\Genshin Impact Game,下面有个yuanshen.exe直接通过这个启动,成功进入服务器,进入游戏后界面是这个
按我的配置文件来的,直接填用户名和密码就能够完成注册了。UID从10001开始排列,现在你就是天理!
提到的文件
替换文件,代理,服务器管理文件 https://caowater.lanzouw.com/b0bhpfy4h 密码:cbjr3.4服务端 https://www.aliyundrive.com/s/iTUMtCd1Hvd更新服务端3.5 地址https://github.com/Grasscutters/Grasscutter/releases/download/v1.4.7/grasscutter-1.4.7.jar更新3.6服务端 https://github.com/Grasscutters/Grasscutter/suites/12202277918/artifacts/644710117更新3.7服务端 https://github.com/Grasscutters/Grasscutter/suites/13107749441/artifacts/711806262更新Resources文件地址 https://gitlab.com/YuukiPS/GC-Resources
判断问题所在
这是我已经配置好的,版本是3.7,如果连不上,就说明是你本地出现了问题,以此类推!不过也可能是我给服务端关掉了 没设置密码,所以数据会经常消失,拿来测试用是最好的。
服务器关了
关于控制台显示无权限的问题(3.5出现)解决方法参照 https://github.com/jie65535/gc-opencommand-plugin/issues/27 可以解决此问题。




香港云服务器租用推荐
服务器租用资讯
·广东云服务有限公司怎么样
·广东云服务器怎么样
·广东锐讯网络有限公司怎么样
·广东佛山的蜗牛怎么那么大
·广东单位电话主机号怎么填写
·管家婆 花生壳怎么用
·官网域名过期要怎么办
·官网邮箱一般怎么命名
·官网网站被篡改怎么办
服务器租用推荐
·美国服务器租用
·台湾服务器租用
·香港云服务器租用
·香港裸金属服务器
·香港高防服务器租用
·香港服务器租用特价