Ubuntu construye el servidor Genshin Impact versión 3.7

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
Insertar descripción de la imagen aquí

Insertar descripción de la imagen aquí
Insertar descripción de la imagen aquí

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.

catalogo completo
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,
Insertar descripción de la imagen aquí
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

Ya iniciado
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
Insertar descripción de la imagen aquí
si ingresa a esta carpeta, puede ver que el contenido del archivo de recursos está en ella.
Insertar descripción de la imagen aquí

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

Insertar descripción de la imagen aquí
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

representaciones

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é.
Insertar descripción de la imagen aquí
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
Insertar descripción de la imagen aquí
, haga clic en opciones
Insertar descripción de la imagen aquí
, haga clic en https y verifique como se muestra en mi imagen
Insertar descripción de la imagen aquí
. Regrese a la página principal, haga clic en la posición en la imagen de la derecha,
Insertar descripción de la imagen aquí
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. Insertar descripción de la imagen aquí
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 estaInsertar descripción de la imagen aquí

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!Insertar descripción de la imagen aquí

  • 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

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.

Supongo que te gusta

Origin blog.csdn.net/qq_40634537/article/details/129095224#comments_27568926
Recomendado
Clasificación