本文涉及知识点
linux基础命令|mongoDB服务端搭建及指令|Java环境搭建
原神私服可以用来抽卡满足自己用,他的许多任务都得登录控制台自己发,不建议拿私服玩,想要体验完美原神请到官服,本文只做LINUX MongoDB java教学例子
材料准备
- Ubuntu
- Mongodb
- Grasscutters 地址GitHub
搭建方法
ssh登录你的服务器
进入一个目录创建一个文件夹储存服务端,推荐home
sudocd home
sudomkdir 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就好了
sudoapt-getinstall 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编辑器
到这里服务端环境配置完成
输入下面指令重启数据库以应用修改后的配置
sudoservice mongodb restart
服务端启动方法
进入服务端目录
cd /home/Grasscutter
执行服务端文件,用之前下载的java17
/home/java/jdk-17.0.6/bin/java -jar grasscutter-1.4.6.jar
服务端配置文件的修改(目录下的config.json)
{"folderStructure":{"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":"欢迎来到hewei2723的私服!",
"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 密码:cbjr
3.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.5 资源文件下载链接
https://gitee.com/x0rz4/GC-Resources.git
判断问题所在
这是我已经配置好的,版本是3.5,如果连不上,就说明是你本地出现了问题,以此类推!不过也可能是我给服务端关掉了,私我给你打开就行了。此服务端仅限拿来测试,随时有删档的可能,要长久玩自己开!
地址www.cwh2o.xyz 端口443
关于控制台显示无权限的问题(3.5出现)解决方法参照
https://github.com/jie65535/gc-opencommand-plugin/issues/27
可以解决此问题
版权归原作者 hewei2723 所有, 如有侵权,请联系我们删除。