Este artículo incluye puntos de conocimiento:
comandos básicos de Linux | construcción e instrucciones del servidor mongoDB | construcción del entorno Java
El servidor privado Genshin Impact se puede utilizar para robar cartas para su propio uso. Muchas de sus tareas deben iniciar sesión en la consola para realizarlas usted mismo. No se recomienda jugar en el servidor privado. Si desea experimentar el Genshin Impact perfecto, vaya al servidor oficial. Este artículo solo proporciona ejemplos de enseñanza de LINUX MongoDB java.
escribir delante
preguntas de sentido común
Con respecto al problema, algunos lectores informaron que la dirección de descarga 3.6 no se puede abrir porque la dirección de descarga es de GitHub. Si solo eres un jugador de Genshin Impact y descubres que no puedes abrir GitHub, puedes consultar mi artículo https://mp.csdn.net/mp_blog/creation/editor/127619574.
Si usted es un colega y me pregunta por qué no se puede abrir Github, entonces debe reflexionar sobre lo que hace habitualmente. Es una cuestión de sentido común en esta industria.
Seguridad de la base de datos (atención especial)
Mi base de datos se instaló especialmente para este Genshin Impact. No establecí una contraseña, por lo que el niño eliminó la base de datos. Le pregunté por qué la base de datos seguía desapareciendo. Recuerde establecer la contraseña. Así que puse un Genshin Impact. Me pregunto si puede borrarlo, no importa. Soy demasiado vago para ocuparme de eso especialmente, ¡que así sea!
La contraseña de MongoDB es diferente de la de MySQL. Es una base de datos separada con una cuenta y contraseña independientes. La modifiqué
especialmente y configuré la contraseña.
Gracias a @Yolan_133 por la adición.
Después de configurar la contraseña, el formato de la base de datos del enlace es
"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
Preparación de materiales
- ubuntu
- mongodb
- Dirección de cortadores de césped en GitHub
Cómo construir
Inicie sesión en su servidor con ssh.
Ingrese un directorio para crear una carpeta para almacenar el servidor. Se recomienda Inicio.
sudo cd home
sudo mkdir Grasscutter
Coloque el servidor (proporcionado al final del servidor). La imagen muestra el árbol de archivos del directorio, generado por el comando de árbol.
Configure el entorno Java. Descargue Java directamente aquí y luego use el Java descargado al comenzar para evitar problemas en el entorno que sean difíciles de reparar. Cree una
carpeta para colocar Java. Lo puse en la carpeta de inicio.
mkdir /home/java
Ingrese a este directorio
cd /home/java
Descarga Java y descomprímelo
wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz
tar -zxvf jdk-17_linux-x64_bin.tar.gz
En este momento, habrá una carpeta jdk en el directorio,
donde se encuentra el archivo ejecutable de Java, específicamente en jdk-17.0.6/bin.
/home/java/jdk-17.0.6/bin
Para instalar MongoDB, simplemente use apt directamente.
sudo apt-get install mongodb
Después de la instalación, el programa mongod se ejecutará automáticamente. Puede usar el comando para verificar si el proceso se ha iniciado.
pgrep mongo -l
Ingrese mongo para ingresar a la interfaz de operación de la base de datos y crear un usuario root. El siguiente es el comando para crear una cuenta de administrador.
db.createUser({
user: "root",pwd: "114514", roles: [ {
role: "root", db: "admin" } ]})
Compruebe si la creación es exitosa.
db.auth("root", "114514") #返回1,则表示成功
Modifique el archivo de configuración para permitir el acceso a la red externa (este paso no importa, el objetivo principal es enseñar cómo usar otras máquinas para conectarse a esta base de datos; de lo contrario, solo podrá conectarse a 127.0.0.1 desde su propia máquina)
nano /etc/mongodb.conf
Cambie bindip a 0.0.0.0, luego ctrl+o para guardar y ctrl+x para salir del editor nano.
Aquí se completa la configuración del entorno del servidor.
Ingrese el siguiente comando para reiniciar la base de datos y aplicar la configuración modificada.
sudo service mongodb restart
Puede ver que
si ingresa a esta carpeta, puede ver que el contenido del archivo de recursos está en ella.
En el archivo de configuración, cambie la ruta del archivo de recursos a la ruta que puso.
como ser perezoso
Simplemente busque un lugar para obtener este archivo de recursos. Lo coloco en la carpeta del servidor Genshin Impact
y extraigo el repositorio.
git clone https://gitlab.com/YuukiPS/GC-Resources
Eso es todo, lo puse en el directorio del servidor, así que completé la ruta relativa.
{
"folderStructure": {
"resources": "./GC-Resources/Resources",
"data": "./data/",
"packets": "./packets/",
"scripts": "resources:Scripts/",
"plugins": "./plugins/"
},
Entré a este almacén y vi que se había actualizado. Debería actualizarse todo el tiempo, ¿verdad?
Actualice los archivos de recursos al actualizar la versión.
Ingrese al directorio GC-Resources y obtenga la última versión:
git pull
Aprende a ser vago
Método de inicio del servidor
Ingrese al directorio del servidor
cd /home/Grasscutter
Ejecute el archivo del servidor y use el java17 descargado previamente
/home/java/jdk-17.0.6/bin/java -jar grasscutter-1.4.6.jar
Modificación del archivo de configuración del servidor (config.json en el directorio)
{
"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": "欢迎来到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
}
Si sigue mi configuración, entonces
la cuenta de administrador de MongoDB es root, la contraseña es 114514 y el puerto de conexión es 27017. El
Java17 descargado está en este directorio /home/java/jdk-17.0.6.
El directorio donde se encuentra Genshin Impact donde se encuentra el servidor es /home. /Grasscutter, el puerto que el servidor privado conecta al servidor es 6443
Conexión de cliente Genshin Impact, versión para PC, no hay versión móvil porque no se puede llevar
Preoperación: primero aplique un parche y reemplace el archivo C:\Genshin Impact\Genshin Impact Game\mhypbase.dll en este directorio con el archivo con el mismo nombre que le di.
método uno
No recuerdo en qué grupo vi esto. Si lo sabes, envíame un mensaje privado con la dirección del proyecto y lo agregaré.
Dirección de descarga Genshin Impact Agent Diversion
Dirección del proyecto: Aún no encontrado
Método dos
Abra el software proxy Fiddler, haga clic en herramientas
, haga clic en opciones
, haga clic en https y verifique como se muestra en mi imagen
. Regrese a la página principal, haga clic en la posición en la imagen de la derecha,
elimine todo lo que contiene y copie el mío en ella.
/* 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");
}
}
};
Haga clic en guardar script para guardar y el agente se ejecutará automáticamente en este momento.
Ingrese a C:\Genshin Impact\Genshin Impact Game. Hay un yuanshen.exe a continuación que se puede iniciar directamente a través de este. Ingrese exitosamente al servidor. Después de ingresar al juego, la interfaz es esta
Según mi archivo de configuración, simplemente complete el nombre de usuario y la contraseña para completar el registro. Los UID están organizados a partir de 10001, ¡ahora tú eres el rey!
- Archivos mencionados
- Archivos de reemplazo, agentes, archivos de administración del servidor
https://caowater.lanzouw.com/b0bhpfy4h Contraseña: cbjr - 3.4 Servidor
https://www.aliyundrive.com/s/iTUMtCd1Hvd - Actualizar la dirección del servidor 3.5 https://github.com/Grasscutters/Grasscutter/releases/download/v1.4.7/grasscutter-1.4.7.jar
- Servidor de actualización 3.6
https://github.com/Grasscutters/Grasscutter/suites/12202277918/artifacts/644710117 - Servidor de actualización 3.7
https://github.com/Grasscutters/Grasscutter/suites/13107749441/artifacts/711806262 - Actualice la dirección del archivo de recursos
https://gitlab.com/YuukiPS/GC-Resources
- Archivos de reemplazo, agentes, archivos de administración del servidor
determinar el problema
Esto es lo que tengo configurado y la versión es 3.7, si no se puede conectar significa que hay un problema localmente, ¡y así sucesivamente! Sin embargo, puede ser que apagué el servidor y no establecí una contraseña, por lo que los datos desaparecerían con frecuencia, es mejor usarlo para realizar pruebas.
El servidor está caído
Dirección www.cwh2o.xyz Puerto 6443
Con respecto al problema de visualización de la consola sin permiso (que ocurre en 3.5), consulte
https://github.com/jie65535/gc-opencommand-plugin/issues/27
para resolver este problema.