GithubHelp home page GithubHelp logo

yuukips / dockergs Goto Github PK

View Code? Open in Web Editor NEW
534.0 8.0 105.0 651 KB

DockerGC is a container that run Grasscutter (anime game) with just a single command.

License: GNU Affero General Public License v3.0

Shell 99.85% Roff 0.15%
grasscutter anime game server

dockergs's Introduction

DockerGS

DockerGS is a container that run Grasscutter (some anime game) with just a single command.

How to connect to server

Since I don't want to write same post, please visit this

How to create a server:

Docker Version

  • Install Docker + (MongoDB If you want to run outside container)
  • Open Terminal and Enter:
# Database (just once) (use this if you don't have a database outside container or want to use between containers)
docker run --rm -it --name db_gc -p 2777:27017/tcp -d mongo &
# Game server (just once download resources with -download_resource 'yes' after that you can set -download_resource 'no') (remember replace 2.0.0.100 with your pc's ip and don't use "localhost" this is important)
docker run --rm -it \
--name dockergs \
-v resources:/home/dockergs/resources \
-p 22102:22102/udp \
-p 80:80/tcp \
siakbary/dockergs:alpine-gc-4.0 \
--database 'mongodb://2.0.0.100:2777' \
--web_ip '2.0.0.100' \
--web_port '80' \
--game_ip '2.0.0.100' \
--game_port '22102' \
--download_resource 'yes' \
--ssl 'false'
--web_url_ssl "false"

or if you have Docker Compose

git clone https://github.com/YuukiPS/DockerGS
cd DockerGS
# docker compose up  # windows
docker-compose up -d # linux
  • Then type "account create yourusername" if there is a new response open the game.
  • Yay

Windows (Jar Only)

  1. Download & Install Java 17 JDK & MongoDB (If you don't have) (Remember this does not require Install Docker.)
  2. Download file zip, scroll down I'm sure you can find it easily
  3. Open file zip and unzip/open again file DockerGS_GC.tar
  4. When you successfully unzip/open you will find "work_gc" folder click it then Extract it to folder you want (if you have an "Official/other version" Grasscutter you can overwrite it)
  5. Make sure you have a (folder,file) "Resources" which you can get from Yuuki or tamilpp25
  6. Open Terminal (Make sure you open it by right-clicking on folder that has jar file) then type "java -jar grasscutter.jar"
  7. Have fun :)

Ubuntu (Jar Only)

TODO

Available

Versions OS Platform
4.0 (20) Alpine linux/amd64

Download (Jar Only)

Versions Platform
4.0 (20) linux/amd64

Some Tips:

How to build this?

Source code YuukiPS is closed now because many people are remove "source link,credits" from public server/vip forum download, so we will only provide original Grasscutter Quest or Grasscutter version for docker/jar later.

If you wish to Contribute YuukiPS, please contact me.

Required

Clone this with

git clone https://github.com/YuukiPS/DockerGS
cd DockerGS
cd gs
# 0=Patch-2.6, 1=Patch-2.6-Early, 2=Patch-2.7, 3=Patch-2.7-Early, 4=Patch-2.8, 7=3.0, 8=3.1, 9=3.2, 10=3.3, 11=3.4, 12=3.5, 14=3.6, 15=3.6 public,16=3.7 private stable, 17=3.7 private quest, 18=3.7 public, 19=4.0 private, 20=4.0 public (later)

# 2.0.0.100 is your ip computer, make sure you have mongodb installed

sh run.sh # default build localhost

sh run.sh local res 20 # Get Resources File Based Version Server

sh run.sh local start 20 # run localhost server for without docker
sh run.sh alpine start 20 2.0.0.100 # run localhost server for with docker alpine
sh run.sh ubuntu start 20 2.0.0.100 # run localhost server for with docker ubuntu

sh run.sh local build 20 # Build local aja jar only
sh run.sh alpine build 20 # Build Docker Image Alpine
sh run.sh ubuntu build 20 # Build Docker Image Ubuntu

sh run.sh ubuntu build 20 multi # Build Docker Image Ubuntu

sh run.sh local sync 20 # Sync Grasscutters to Yuuki

sh run.sh data core # Clone Patch Version

Note:

  • If you have a problem with not foundsh: Change CRLF to LF

Command

Variable Info
-db --database IP Address for your database server, note: use computer ip if you want to run on your own pc/server, no "localhost" because it is IP in Container
-webip --web_ip IP/Domain Public Web Server
-webport --web_port Port Public Web Server, if you want http use port 80 and if you want https use 443 (default 80)
-ssl --ssl If this is set to "true" it will make https not working and if it is "false" it will make http not working. please select: (default false)
-weburlssl --web_url_ssl This changes URL "https" or "http", This is useful if you have a reverse proxy and have your own SSL. (default false)
-gameip --game_ip IP Public Game Server
-gameport --game_port Port Public Game Server
-msgwc --message_welcome Chat Welcome Message
-nmsv --name_server Name Server
-nmow --name_owner Server Owner Name
-nmrg --name_region Server Region Name
-mailmsg --mail_message Email welcome when registering for first time
-po --player_online Player limit online (-1 for unlimited)
-loginpass --login_password If you want to be more secure by using password feature at login
-dlres --download_resource Re-download resources if you type "yes" this is useful if you already have a resources folder but there is latest update
-lang --language Server Language and includes commands more info
-j --java -Xms500M -Xmx8G more info
-h --help todo

Port

Port Info
80 Web Server for HTTP. (Not required)
443 Web Server for HTTPS. (required)
22102 Game Communication (udp) (required)

Contribution

Power by Grasscutter ❤️

dockergs's People

Contributors

akbaryahya avatar hazmi35 avatar neday avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dockergs's Issues

expired domain

sorry lol if it has been answered or something but it says that im using an expired domain and it is asking me to replace it with "\genshin.ps.yuuki.me" if i press the custom server button it just transport me to the official if im correct

About Auth?

Hi there, I'm confusing about things like authentication, because I found that everyone can login directly given the address, which is insecure to the server. So are there any configs to enable authentication?

i cant type commands

i finished downloading resources using the commands and everything in docketrgc but cant create an account or use commands make my own server

Load language file failed.

I build the project on the image siakbary/dockergc:debian-dev-4.8, but it always restarts.

error log:

08:44:01] [INFO] load file en.json
[08:44:01] [INFO] fallback to en.json
[08:44:01] [WARN] Failed to load language file: en.json
java.lang.NullPointerException: null
	at java.base/java.io.Reader.<init>(Reader.java:168)
	at java.base/java.io.InputStreamReader.<init>(InputStreamReader.java:111)
	at emu.grasscutter.utils.Utils.readFromInputStream(Utils.java:268)
	at emu.grasscutter.utils.Language.<init>(Language.java:59)
	at emu.grasscutter.utils.Language.getLanguage(Language.java:23)
	at emu.grasscutter.Grasscutter.loadLanguage(Grasscutter.java:158)
	at emu.grasscutter.Grasscutter.<clinit>(Grasscutter.java:63)
Exception in thread "main" java.lang.NullPointerException: Cannot invoke "com.google.gson.JsonObject.has(String)" because "object" is null
	at emu.grasscutter.utils.Language.get(Language.java:89)
	at emu.grasscutter.utils.Language.translate(Language.java:33)
	at emu.grasscutter.Grasscutter.main(Grasscutter.java:89)

Now, en.json can't be found.
https://github.com/Grasscutters/Grasscutter/tree/stable/src/main/resources/languages

Besides, hope to add an argument to set language.

3.3 close unexpectedly

When I use DockerGS as the server, the game will exit within ten minutes. When I use Grasscutter as the server, there is no problem. I use the RSAPath patch, is it the problem with jar? 3.3

GIVE ALL BUG{public}

Exception in thread "Thread-36" java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 6
at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:64)
at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:70)
at java.base/jdk.internal.util.Preconditions.checkIndex(Preconditions.java:266)
at java.base/java.util.Objects.checkIndex(Objects.java:359)
at java.base/java.util.ArrayList.get(ArrayList.java:427)
at emu.grasscutter.game.avatar.Avatar.unlockConstellation(Avatar.java:898)
at emu.grasscutter.game.avatar.Avatar.forceConstellationLevel(Avatar.java:948)
at emu.grasscutter.command.commands.GiveCommand.makeAvatar(GiveCommand.java:67)
at emu.grasscutter.command.commands.GiveCommand.giveAllAvatars(GiveCommand.java:81)
at emu.grasscutter.command.commands.GiveCommand.giveAll(GiveCommand.java:271)
at emu.grasscutter.command.commands.GiveCommand.execute(GiveCommand.java:373)
at emu.grasscutter.command.CommandMap.lambda$invoke$0(CommandMap.java:323)
at java.base/java.lang.Thread.run(Thread.java:833)
It looks like a bug in the task branch. I don't have the source code to fix it. Can you fix it?

Change mongodb listening port

I change the mongodb port from 27017 to 27018 because 27017 has already been used for another db service, but I got this log.

05:03:26 <INFO:SLF4JLogger> Exception in monitor thread while connecting to server localhost:27017

So I'm wondering whether the mongodb port shouldn't be changed?
docker-compose:

version: '3'
services:
  mongodb:
    image: mongo
    restart: unless-stopped
    ports:
      - "27018:27017"
    volumes:
      - /data/grasscutter/db:/data/db
  grasscutter:
    image: siakbary/dockergc:ubuntu-dev-5.7
    command: -d 'mongodb://mongodb:27018' -b 'localhost' -f 'yes'
    restart: unless-stopped
    volumes:
      - /data/grasscutter/resources:/home/Grasscutter/resources
    ports:
      - "22102:22102/udp"
      - "23337:443/tcp"
      - "23336:80/tcp"
    depends_on:
      - mongodb
    stdin_open: true
    tty: true
volumes:
 data:
 resources:

grasscutter.Grasscutter EOF detected.

Same with Grasscutters/Grasscutter#1014
Grasscutters/Grasscutter#758
Grasscutters/Grasscutter#508

modifying config.json is fine, but I don't know if it is better to have someway to solve it by Container Args.

Also, I am now using TrueNAS Scale, and I encountered some weird startup issue, so my current settings need to be:

image

And also cause the Dockerfile is now invisable, maybe more detailed HELP can be priovided?

eg. instead of -l Server Language and includes commands, it is better to say -l Server Language and includes commands -l 'zh_CN' or something.

Expose config.json

You can access the server config from inside Docker, but it's annoying - and the container doesn't have a text editor; would exposing it on a mounted volume (or any other way) to be able to edit the config on the host be viable?

manifest for siakbary/dockergs:alpine-gc-3.5 not found

seems like included image doesnt exist anymore, so this docker file is deprecated any idea when will be updated? or what is the correct replacement for that dependency?

ran with: docker compose -f DockerGS_GC_Public.yml up -d

errors:
[+] Running 2/2 ✘ grasscutter Error 1.9s ✘ web Error 2.0s Error response from daemon: manifest for siakbary/dockergs:alpine-gc-3.5 not found: manifest unknown: manifest unknown

Can't type in terminal and can't accesss server

I installed docker and mongodb, and created server using the commands for docker compose

But once it started I can't type anything in the terminal, so how do I type account create etc
I tried windows cmd, new windows terminal, git bash and docker cli but none works.

And also it says listening http://localhost:22102/ but this URL says connection refused when I open it.
Any help?

运行3.6版本的找不到resource

运行readme中的docker配置指令
23:50:30 INFO:Utils Place a copy of 'BinOutput' and 'ExcelBinOutput' in the resources folder.
照理来说resources不是自动下载的吗
我在/var/lib/docker/volumes/resources中放入了resources
image
没有效果,还是这个报错

one problem about deploying on nginx

Hi there, I wanna deploy dockergc on port 23336 and use nginx as reverse-proxy, but end up with login interface cannot respond, and no output in dockergc container. When I use ip address, it can login but cannot get into the game with error code 4206.

docker-compose and nginx config as follows, help!

version: '3'
services:
  mongodb:
    restart: unless-stopped
    image: mongo
    ports:
      - "27018:27017"
    volumes:
      - /data/grasscutter/db:/data/db
  grasscutter:
    restart: unless-stopped
    container_name: dockergc
    image: siakbary/dockergc:ubuntu-dev-5.7
    command: -d 'mongodb://mongodb:27017' -f 'yes'
    volumes:
      - /data/grasscutter/resources:/home/Grasscutter/resources
    ports:
      - "22102:22102/udp"
      - "23336:443"
    depends_on:
      - mongodb
    stdin_open: true
    tty: true
server{
    listen 443 ssl;
    server_name gc.<host>.com;
    ssl_certificate gc.<host>.com_bundle.crt;
    ssl_certificate_key gc.<host>.com.key;
    ssl_session_timeout 10m;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
    ssl_prefer_server_ciphers on;
   
    location / {
	proxy_pass http://localhost:23336;
   }
}

server{
    listen 80;
    server_name gc.<host>.com;
    return 301 https://$host$request_uri;
}

Constant restart on grasscutter

Grasscutter container continually restarts and returns INFO:Utils lines in log that indicate files are missing from resources folder.

log excerpt:

alpine-gc-3.7-d17599f
alpine-gc-3.7-d17599f
Use res 3.7
This system run with OS Alpine Linux
Update resources.zip ...
Update
Download Res 3.7
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100  491k    0  491k    0     0  1176k      0 --:--:-- --:--:-- --:--:-- 1176k
100 76.7M    0 76.7M    0     0  54.1M      0 --:--:--  0:00:01 --:--:-- 54.1M
100  144M    0  144M    0     0  59.6M      0 --:--:--  0:00:02 --:--:-- 59.6M
100  205M    0  205M    0     0  60.1M      0 --:--:--  0:00:03 --:--:-- 60.1M
100  256M    0  256M    0     0  59.3M      0 --:--:--  0:00:04 --:--:-- 59.3M
No config file was found, try to use from command file
02:03:51 <INFO:Grasscutter> config.json could not be found. Generating a default configuration ...
02:03:51 <INFO:Grasscutter> Loading Grasscutter...
02:03:52 <INFO:Utils> Place a copy of 'BinOutput' and 'ExcelBinOutput' in the resources folder.
02:03:52 <INFO:Utils> To fully use questing, it is recommended to add the 'Server' folder.
02:03:52 <INFO:Utils> To fully use questing, it is recommended to add the 'ScriptSceneData' folder.
02:03:52 <INFO:Utils> Find additional resources at: 'Anime-Game-Servers/CustomGCResources'.
Server Web Public: 192.168.x.y:80
URL SSL Web Public: false
Server Ip Game: 192.168.x.y:22102
Server Password: false
Server Auto Create Acc: true
Server MongoDB: mongodb://anonuser:anonpass@mongodb:27017
02:03:58 <INFO:Grasscutter> Loading Grasscutter...
02:03:58 <INFO:Utils> Place a copy of 'BinOutput' and 'ExcelBinOutput' in the resources folder.
02:03:58 <INFO:Utils> To fully use questing, it is recommended to add the 'Server' folder.
02:03:58 <INFO:Utils> To fully use questing, it is recommended to add the 'ScriptSceneData' folder.
02:03:58 <INFO:Utils> Find additional resources at: 'Anime-Game-Servers/CustomGCResources'.
alpine-gc-3.7-d17599f
alpine-gc-3.7-d17599f
Use res 3.7
This system run with OS Alpine Linux
Update resources.zip ...
Update
Download Res 3.7
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 15.0M    0 15.0M    0     0  18.7M      0 --:--:-- --:--:-- --:--:-- 18.8M
100 58.8M    0 58.8M    0     0  34.2M      0 --:--:--  0:00:01 --:--:-- 34.2M
100  115M    0  115M    0     0  42.1M      0 --:--:--  0:00:02 --:--:-- 42.1M
100  182M    0  182M    0     0  49.0M      0 --:--:--  0:00:03 --:--:-- 49.0M
100  256M    0  256M    0     0  56.3M      0 --:--:--  0:00:04 --:--:-- 56.3M
Found config files, ignore from command
02:04:09 <INFO:Grasscutter> Loading Grasscutter...
02:04:09 <INFO:Utils> Place a copy of 'BinOutput' and 'ExcelBinOutput' in the resources folder.
02:04:09 <INFO:Utils> To fully use questing, it is recommended to add the 'Server' folder.
02:04:09 <INFO:Utils> To fully use questing, it is recommended to add the 'ScriptSceneData' folder.
02:04:09 <INFO:Utils> Find additional resources at: 'Anime-Game-Servers/CustomGCResources'.
alpine-gc-3.7-d17599f
alpine-gc-3.7-d17599f
Use res 3.7
This system run with OS Alpine Linux
Update resources.zip ...
Update
Download Res 3.7

Used the DockerGS_GC_Public.yml as a guide for the compose setup. Omitted the NPM service with it as I already have that same container running elsewhere that I plan on using for this. My Docker compose file looks as follows, minus items that have been anonymized/masked. Note that I have to downgrade to Mongo 4.2 due to other reasons at the moment but this error was occurring with latest Mongo image as well:

version: '3'
services:
 mongodb:
    restart: always
    container_name: genshin-mongodb
    image: mongo:4.2
    deploy:
      resources:
        limits:
          memory: 1G
    ports:
      - "27017:27017"
    volumes:
      - type: bind
        source: /sharedfolders/dockerconfigfiles/genshin-impact/genshin-mongodb
        target: /data/db
    environment:
     MONGO_INITDB_ROOT_USERNAME: anonuser
     MONGO_INITDB_ROOT_PASSWORD: anonpass
 grasscutter:
    restart: always
    container_name: genshin-grasscutter
    image: siakbary/dockergs:alpine-gc-3.7
    deploy:
      resources:
        limits:
          memory: 5G
    command: --database 'mongodb://anonuser:anonpass@mongodb:27017' --web_ip '192.168.x.y' --web_port "80" --game_ip '192.168.x.y' --game_port '22102' --download_resource 'no' --java '-Xmx1G' --ssl "false" --web_url_ssl "false"
    volumes:
      - type: bind
        source: /sharedfolders/dockerconfigfiles/genshin-impact/genshin-grasscutter
        target: /home/dockergs/resources
    ports:
      - "22102:22102/udp"
      - "85:80/tcp"
    depends_on:
      - mongodb
    stdin_open: true
    tty: true
    init: true

npm install on Dockerfile fails

I was building the Docker image with BuildKit, then this happened:

#6 10.32 Error: could not get uid/gid
#6 10.32 [ 'nobody', 0 ]
#6 10.32 
#6 10.32     at /usr/lib/node_modules/npm/node_modules/uid-number/uid-number.js:37:16
#6 10.32     at ChildProcess.exithandler (child_process.js:283:5)
#6 10.32     at emitTwo (events.js:126:13)
#6 10.32     at ChildProcess.emit (events.js:214:7)
#6 10.32     at maybeClose (internal/child_process.js:915:16)
#6 10.32     at Process.ChildProcess._handle.onexit (internal/child_process.js:209:5)
#6 10.32 TypeError: Cannot read property 'get' of undefined
#6 10.32     at errorHandler (/usr/lib/node_modules/npm/lib/utils/error-handler.js:205:18)
#6 10.32     at /usr/lib/node_modules/npm/bin/npm-cli.js:78:20
#6 10.32     at cb (/usr/lib/node_modules/npm/lib/npm.js:228:22)
#6 10.32     at /usr/lib/node_modules/npm/lib/npm.js:266:24
#6 10.32     at /usr/lib/node_modules/npm/lib/config/core.js:83:7
#6 10.32     at Array.forEach (<anonymous>)
#6 10.32     at /usr/lib/node_modules/npm/lib/config/core.js:82:13
#6 10.32     at f (/usr/lib/node_modules/npm/node_modules/once/once.js:25:25)
#6 10.32     at afterExtras (/usr/lib/node_modules/npm/lib/config/core.js:173:20)
#6 10.32     at Conf.<anonymous> (/usr/lib/node_modules/npm/lib/config/core.js:231:22)
#6 10.32 /usr/lib/node_modules/npm/lib/utils/error-handler.js:205
#6 10.32   if (npm.config.get('json')) {
#6 10.32                  ^
#6 10.32 
#6 10.32 TypeError: Cannot read property 'get' of undefined
#6 10.32     at process.errorHandler (/usr/lib/node_modules/npm/lib/utils/error-handler.js:205:18)
#6 10.32     at emitOne (events.js:116:13)
#6 10.32     at process.emit (events.js:211:7)
#6 10.32     at process._fatalException (bootstrap_node.js:391:26)

MongoDB works upon first server startup, but stops working afterwards

It worked when I launched DockerGC for the first time, but, I restarted my Ubuntu server and tried to start it up again which resulted in this error:
Exception in monitor thread while connecting to server db:27017 com.mongodb.MongoSocketException: db at com.mongodb.ServerAddress.getSocketAddresses(ServerAddress.java:211) at com.mongodb.internal.connection.SocketStream.initializeSocket(SocketStream.java:75) at com.mongodb.internal.connection.SocketStream.open(SocketStream.java:65) at com.mongodb.internal.connection.InternalStreamConnection.open(InternalStreamConnection.java:143) at com.mongodb.internal.connection.DefaultServerMonitor$ServerMonitorRunnable.lookupServerDescription(DefaultServerMonitor.java:188) at com.mongodb.internal.connection.DefaultServerMonitor$ServerMonitorRunnable.run(DefaultServerMonitor.java:144) at java.base/java.lang.Thread.run(Thread.java:833) Caused by: java.net.UnknownHostException: db at java.base/java.net.InetAddress$CachedAddresses.get(InetAddress.java:801) at java.base/java.net.InetAddress$NameServiceAddresses.get(InetAddress.java:887) at java.base/java.net.InetAddress.getAllByName0(InetAddress.java:1509) at java.base/java.net.InetAddress.getAllByName(InetAddress.java:1367) at java.base/java.net.InetAddress.getAllByName(InetAddress.java:1301) at com.mongodb.ServerAddress.getSocketAddresses(ServerAddress.java:203) ... 6 common frames omitted

I had already checked that mongod was running so I don't understand why it isn't working.

Add a command to use http

I want to use my own reverse proxy to provide SSL instead of the program's own SSL.
Please provide a command parameter to disable https and provide services using http protocol.
——————
我想用自己的反向代理程序提供SSL而不是程序自带的SSL。
请提供一个命令参数,禁用https,使用http协议提供服务。

docker-compose运行报错

docker-compose logs -f

gc       | remove file no need
gc       | WARNING: Ignoring https://dl-cdn.alpinelinux.org/alpine/v3.15/main: No such file or directory
gc       | WARNING: Ignoring https://dl-cdn.alpinelinux.org/alpine/v3.15/community: No such file or directory
gc       | (1/7) Purging git (2.34.2-r0)
gc       | (2/7) Purging wget (1.21.2-r2)
gc       | (3/7) Purging libcurl (7.80.0-r0)
gc       | (4/7) Purging expat (2.4.7-r0)
gc       | (5/7) Purging pcre2 (10.39-r0)
gc       | (6/7) Purging libidn2 (2.3.2-r0)
gc       | (7/7) Purging libunistring (0.9.10-r1)
gc       | Executing busybox-1.34.1-r3.trigger
gc       | OK: 89 MiB in 29 packages
gc       | install    proto      resources
gc       | create table id and config.json
gc       | Error: Unable to access jarfile grasscutter.jar
gc       | sh: yes: unknown operand
gc       | Set: Server Datebase MongoDB: mongodb://mongodb:27017
gc       | json: error: ENOENT: no such file or directory, open 'config.json'
gc       | sed: config.json: No such file or directory
gc       | json: error: ENOENT: no such file or directory, open 'config.json'
gc       | json: error: ENOENT: no such file or directory, open 'config.json'
gc       | json: error: ENOENT: no such file or directory, open 'config.json'
gc       | json: error: ENOENT: no such file or directory, open 'config.json'
gc       | json: error: ENOENT: no such file or directory, open 'config.json'
gc       | Error: Unable to access jarfile grasscutter.jar

docker-compose.yml

version: '3.8'
services:
  mongo:
    image: mongo:4.4.4 #根据需要选择自己的镜像
    container_name: mongo
    restart: unless-stopped
    ports:
     - 27017:27017
    volumes:
     - ./container/mongo/db:/data/db # 挂载数据目录
     - ./container/mongo/log:/var/log/mongodb  # 挂载日志目录
     - ./container/mongo/config:/etc/mongo  # 挂载配置目录
    # command: --config /docker/mongodb/mongod.conf # 配置文件

  gc:
    image: siakbary/dockergc:dev-2.7
    container_name: gc
    restart: unless-stopped
    command: -d 'mongodb://mongodb:27017' -b 'localhost' -f 'yes'
    volumes:
      - ./container/gc/resources:/home/Grasscutter/resources
    ports:
      - "22102:22102/udp"
      - "443:443/tcp"
      - "80:80/tcp"
    depends_on:
      - mongo
    stdin_open: true
    tty: true

Failed to load resources

Got issue when boosting docker for the fist time.
error message:

Failed to load resources zip "./resources/"

I have alr set the param --download_resource 'yes' \.
This error happens both on my local win10 and AWS EC2 ubuntu.
Following the command:

docker run --rm -it \
--name dockergs \
-v resources:/home/dockergs/resources \
-p 22102:22102/udp \
-p 80:80/tcp \
siakbary/dockergs:alpine-gc-3.4 \
--database 'mongodb://2.0.0.100:2777' \
--web_ip 'xxx' \ (masked)
--web_port '80' \
--game_ip 'xxx' \ (masked)
--game_port '22102' \
--download_resource 'yes' \
--ssl 'false' \
--web_url_ssl "false"

how to install SSL certificate?

well i've been struggling with SSL issues cuz i have little experience with docker, so the case is i don't know this docker script running on nginx or apache 2 and i don't have both installed in my ubuntu vps so i though docker is running http by itself but then i wonder how can i install the SSL certificate cuz all the tutorial on google using nginx.

sorry but it would be really helpful if you tell me how to do it thanks.

打开终端输入代码并下载后报错

SyntaxError: Unexpected identifier
at new Function ()
at main (/usr/local/lib/node_modules/json/lib/json.js:1365:27)
at Object. (/usr/local/lib/node_modules/json/lib/json.js:1764:5)
at Module._compile (internal/modules/cjs/loader.js:999:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)
at Module.load (internal/modules/cjs/loader.js:863:32)
at Function.Module._load (internal/modules/cjs/loader.js:708:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:60:12)
at internal/main/run_main_module.js:17:47
undefined:3
this.GameServer.DispatchServerDatabaseUrl=''mongodb://db:27017''
^^^^^^^

SyntaxError: Unexpected identifier
at new Function ()
at main (/usr/local/lib/node_modules/json/lib/json.js:1365:27)
at Object. (/usr/local/lib/node_modules/json/lib/json.js:1764:5)
at Module._compile (internal/modules/cjs/loader.js:999:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)
at Module.load (internal/modules/cjs/loader.js:863:32)
at Function.Module._load (internal/modules/cjs/loader.js:708:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:60:12)
at internal/main/run_main_module.js:17:47
undefined:3
this.DispatchServer.PublicIp=''localhost''
^^^^^^^^^

SyntaxError: Unexpected identifier
at new Function ()
at main (/usr/local/lib/node_modules/json/lib/json.js:1365:27)
at Object. (/usr/local/lib/node_modules/json/lib/json.js:1764:5)
at Module._compile (internal/modules/cjs/loader.js:999:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)
at Module.load (internal/modules/cjs/loader.js:863:32)
at Function.Module._load (internal/modules/cjs/loader.js:708:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:60:12)
at internal/main/run_main_module.js:17:47
undefined:3
this.GameServer.PublicIp=''localhost''
^^^^^^^^^

SyntaxError: Unexpected identifier
at new Function ()
at main (/usr/local/lib/node_modules/json/lib/json.js:1365:27)
at Object. (/usr/local/lib/node_modules/json/lib/json.js:1764:5)
at Module._compile (internal/modules/cjs/loader.js:999:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)
at Module.load (internal/modules/cjs/loader.js:863:32)
at Function.Module._load (internal/modules/cjs/loader.js:708:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:60:12)
at internal/main/run_main_module.js:17:47
VERSION config.json data grasscutter.jar keys keystore.p12 logs proxy.py proxy_config.py resources
[19:11:15] [INFO] Place a copy of 'BinOutput' and 'ExcelBinOutput' in the resources folder.

MongoSocketOpenException

Exception in thread "main" com.mongodb.MongoTimeoutException: Timed out after 30000 ms while waiting to connect. Client view of cluster state is {type=UNKNOWN, servers=[{address=192.168.1.106:27017, type=UNKNOWN, state=CONNECTING, exception={com.mongodb.MongoSocketOpenException: Exception opening socket}, caused by {java.net.SocketTimeoutException: Connect timed out}}]
        at com.mongodb.internal.connection.BaseCluster.getDescription(BaseCluster.java:177)
        at com.mongodb.internal.connection.SingleServerCluster.getDescription(SingleServerCluster.java:41)
        at com.mongodb.client.internal.MongoClientDelegate.getConnectedClusterDescription(MongoClientDelegate.java:127)
        at com.mongodb.client.internal.MongoClientDelegate.createClientSession(MongoClientDelegate.java:87)
        at com.mongodb.client.internal.MongoClientDelegate$DelegateOperationExecutor.getClientSession(MongoClientDelegate.java:258)
        at com.mongodb.client.internal.MongoClientDelegate$DelegateOperationExecutor.execute(MongoClientDelegate.java:182)
        at com.mongodb.client.internal.MongoCollectionImpl.executeCreateIndexes(MongoCollectionImpl.java:847)
        at com.mongodb.client.internal.MongoCollectionImpl.createIndexes(MongoCollectionImpl.java:830)
        at com.mongodb.client.internal.MongoCollectionImpl.createIndexes(MongoCollectionImpl.java:825)
        at com.mongodb.client.internal.MongoCollectionImpl.createIndex(MongoCollectionImpl.java:810)
        at dev.morphia.annotations.builders.IndexHelper.createIndex(IndexHelper.java:220)
        at dev.morphia.annotations.builders.IndexHelper.createIndex(IndexHelper.java:210)
        at dev.morphia.DatastoreImpl.ensureIndexes(DatastoreImpl.java:186)
        at emu.grasscutter.database.DatabaseManager.ensureIndexes(DatabaseManager.java:80)
        at emu.grasscutter.database.DatabaseManager.initialize(DatabaseManager.java:63)
        at emu.grasscutter.Grasscutter.main(Grasscutter.java:134)

Command to start:

docker run --rm -it \
--name dockergs \
-v resources:/home/dockergs/resources \
-p 22102:22102/udp \
-p 80:80/tcp \
siakbary/dockergs:alpine-gc-3.1 \
--database 'mongodb://192.168.1.106:27017' \
--web_ip '172.20.48.1' \
--web_port '80' \
--game_ip '172.20.48.1' \
--game_port '22102' \
--download_resource 'yes' \
--ssl 'false' \
--web_url_ssl "false"

I'm trying to run dockerGS on wsl, and I've set up MongoDB on my windows before so I want to use the installed mongo db.
“192.168.1.106” is the host to my windows machine, but when I try to start server there will be an exception thrown

Sorry for my poor English

White Screen!!!

I deployed it in kubernetes, genshin.local.domain is a private domain name, I go to the DNS at home, and the following is the yaml file
我在kubernetes里面部署的,genshin.local.domain是私有域名,走的家里的DNS,下面是yaml文件

Kubernetes Yaml

# doc: https://github.com/akbaryahya/DockerGC/blob/main/docker-compose.yml
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: genshin
spec:
  accessModes:
  - ReadWriteOnce
  resources:
    requests:
      storage: 10Gi

---

apiVersion: apps/v1
kind: Deployment
metadata:
  name: genshin
spec:
  replicas: 1
  selector:
    matchLabels:
      app: genshin
  strategy:
    rollingUpdate:
      maxSurge: 0
      maxUnavailable: 1
    type: RollingUpdate
  template:
    metadata:
      labels:
        app: genshin
    spec:
      restartPolicy: Always
      nodeName: centos-01
      volumes:
      - name: genshin
        persistentVolumeClaim:
          claimName: genshin

      containers:
      - name: mongodb
        imagePullPolicy: IfNotPresent
        image: mongo
        ports:
        - name: tcp-port
          containerPort: 27017
          protocol: TCP
        env:
        - name: TZ
          value: "Asia/Shanghai"
        - name: MONGO_INITDB_ROOT_USERNAME
          value: "nani"
        - name: MONGO_INITDB_ROOT_PASSWORD
          value: "moemoekyu"
        volumeMounts:
        - mountPath: /data/db
          name: genshin
          subPath: db
      - name: genshin
        imagePullPolicy: IfNotPresent
        image: siakbary/dockergc:alpine-Patch-2.7-245e196
        stdin: true
        tty: true
        ports:
        - name: udp-port
          containerPort: 22102
          protocol: UDP
        - name: https-port
          containerPort: 443
          protocol: TCP
        - name: http-port
          containerPort: 80
          protocol: TCP
        args:
          - "-d"
          - "mongodb://nani:[email protected]:27017"
          - "-b"
          - "genshin.local.domain"
          - "-g"
          - "0.0.0.0"
          - "-f"
          - "yes"
        env:
        - name: TZ
          value: "Asia/Shanghai"
        volumeMounts:
        - mountPath: /home/Grasscutter/resources
          name: genshin
          subPath: resources

---

apiVersion: v1
kind: Service
metadata:
  name: genshin
spec:
  ports:
  - port: 443
    targetPort: 443
    name: https-port
  - port: 80
    targetPort: 80
    name: http-port
  - port: 22102
    targetPort: 22102
    nodePort: 22102
    name: udp-port
    protocol: UDP
  selector:
    app: genshin
  type: NodePort

---

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: genshin.local.domain
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /
    nginx.ingress.kubernetes.io/use-regex: "true"
    nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
    nginx.ingress.kubernetes.io/ssl-passthrough: "true"
    nginx.ingress.kubernetes.io/configuration-snippet: |
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_pass_request_headers on;
spec:
  rules:
  - host: genshin.local.domain
    http:
      paths:
      - backend:
          serviceName: genshin
          servicePort: 443
  tls:
  - hosts:
    - genshin.local.domain
    secretName: genshin

Problems Encountered

IMG_5387

Then i get white screen
IMG_5388
Then timeout
IMG_5389

no any log on the console....

19:01:44 <INFO:RegionHandler> [Dispatch] Client 192.168.0.55 request: query_region_list
>....
19:01:45 <INFO:Utils> https://genshin.local.domain/hk4e_global/mdk/shield/api/verify (V: 1.30.0) (OS: 15.4.1) (A:Yuanshen/379 CFNetwork/1331.0.7 Darwin/21.4.0)
>....
19:01:45 <INFO:DefaultAuthenticators$TokenAuthenticator> [Dispatch] Client 192.168.0.55 logged in via token as 10002.
>....
19:01:45 <INFO:DispatchHandler> [Dispatch] Client 192.168.0.55 is trying to log in.
>....
19:01:45 <INFO:Utils> https://genshin.local.domain/hk4e_global/combo/granter/login/v2/login (V: 1.30.0) (OS: 15.4.1) (A:Yuanshen/379 CFNetwork/1331.0.7 Darwin/21.4.0)
>....
19:01:45 <INFO:DefaultAuthenticators$SessionKeyAuthenticator> [Dispatch] Client 192.168.0.55 succeed to exchange combo token.
>....
19:01:45 <INFO:DispatchHandler> [Dispatch] Client 192.168.0.55 is trying to log in.
>....
19:01:45 <INFO:RegionHandler> Client 192.168.0.55 (CNRELiOS2.7.0) (930af1f03222b44f) request: query_cur_region/os_usa
>....
19:01:45 <INFO:RegionHandler> https://genshin.local.domain/query_cur_region/os_usa?version=CNRELiOS2.7.0&lang=2&platform=1&binary=1&time=319&channel_id=1&sub_channel_id=0&account_type=1&dispatchSeed=930af1f03222b44f

/home # netstat -tunlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:27017 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 204/java
udp 0 0 0.0.0.0:22102 0.0.0.0:* 204/java

it seems that 22102 is not in listen state,what should i do next

i close firewalld in centos machine

PasswordAuthenticator

PasswordAuthenticator

I deployed it in kubernetes, genshin.local.domain is a private domain name, I go to the DNS at home, and the following is the yaml file
我在kubernetes里面部署的,genshin.local.domain是私有域名,走的家里的DNS,下面是yaml文件

Kubernetes Yaml

---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: genshin
spec:
  accessModes:
  - ReadWriteOnce
  resources:
    requests:
      storage: 10Gi

---

apiVersion: apps/v1
kind: Deployment
metadata:
  name: genshin
spec:
  replicas: 1
  selector:
    matchLabels:
      app: genshin
  strategy:
    rollingUpdate:
      maxSurge: 0
      maxUnavailable: 1
    type: RollingUpdate
  template:
    metadata:
      labels:
        app: genshin
    spec:
      restartPolicy: Always
      nodeName: centos-01
      volumes:
      - name: genshin
        persistentVolumeClaim:
          claimName: genshin

      containers:
      - name: genshin
        imagePullPolicy: IfNotPresent
        image: siakbary/dockergc:alpine-Patch-2.7-93aabb3
        stdin: true
        tty: true
        resources:
          requests:
            cpu: 200m
        ports:
        - name: udp-port
          containerPort: 22102
          protocol: UDP
        - name: https-port
          containerPort: 443
          protocol: TCP
        - name: http-port
          containerPort: 80
          protocol: TCP
        args:
          - "-d"
          - "mongodb://root:[email protected]:27017"
          - "-b"
          - "genshin.local.domain"
          - "-g"
          - "192.168.0.202"
          - "-f"
          - "yes"
          - "-l"
          - "zh-CN"
        env:
        - name: TZ
          value: "Asia/Shanghai"
        volumeMounts:
        - mountPath: /home/Grasscutter/resources
          name: genshin
          subPath: resources

---

apiVersion: v1
kind: Service
metadata:
  name: genshin
spec:
  ports:
  - port: 443
    targetPort: 443
    name: https-port
  - port: 80
    targetPort: 80
    name: http-port
  - port: 22102
    targetPort: 22102
    nodePort: 22102
    name: udp-port
  selector:
    app: genshin
  type: NodePort

---

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: genshin.local.domain
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /
    nginx.ingress.kubernetes.io/use-regex: "true"
    nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
    nginx.ingress.kubernetes.io/ssl-passthrough: "true"
spec:
  rules:
  - host: genshin.local.domain
    http:
      paths:
      - backend:
          serviceName: genshin
          servicePort: 443
  tls:
  - hosts:
    - genshin.local.domain
    secretName: genshin

Problems Encountered

IMG_5374

Server Log

截屏2022-06-12 上午6 00 39

Use res 2.7
This system run with OS Alpine Linux
     intx CompilerThreadStackSize                  = 1024                                   {pd product} {default}
   size_t ErgoHeapSizeLimit                        = 0                                         {product} {default}
   size_t HeapSizePerGCThread                      = 43620760                                  {product} {default}
   size_t InitialHeapSize                          = 130023424                                 {product} {ergonomic}
   size_t LargePageHeapSizeThreshold               = 134217728                                 {product} {default}
   size_t MaxHeapSize                              = 2051014656                                {product} {ergonomic}
   size_t MinHeapSize                              = 8388608                                   {product} {ergonomic}
    uintx NonNMethodCodeHeapSize                   = 5826188                                {pd product} {ergonomic}
    uintx NonProfiledCodeHeapSize                  = 122916026                              {pd product} {ergonomic}
    uintx ProfiledCodeHeapSize                     = 122916026                              {pd product} {ergonomic}
   size_t SoftMaxHeapSize                          = 2051014656                             {manageable} {ergonomic}
     intx ThreadStackSize                          = 1024                                   {pd product} {default}
     intx VMThreadStackSize                        = 1024                                   {pd product} {default}
openjdk version "17.0.3" 2022-04-19
OpenJDK Runtime Environment Temurin-17.0.3+7 (build 17.0.3+7)
OpenJDK 64-Bit Server VM Temurin-17.0.3+7 (build 17.0.3+7, mixed mode, sharing)
BinOutput       Readable        Subtitle
ExcelBinOutput  Scripts         TextMap
Resources folder already exists...
No config file was found, try to use from command file
05:15:03 <INFO:Grasscutter> config.json could not be found. Generating a default configuration ...
05:15:04 <INFO:Grasscutter> Boot DockerGC
05:15:04 <INFO:GameServer> Exit with code 0 | exitEarly
Server Web Public: genshin.local.domain
Server Ip Game: 192.168.0.202
Server Game Port: 22102
Server MongoDB: mongodb://root:[email protected]:27017
05:15:05 <INFO:Grasscutter> Starting Grasscutter...
05:15:05 <INFO:Grasscutter> Game version: 2.7.0
05:15:06 <INFO:ResourceLoader> Loaded 4246 FetterDatas.
05:15:06 <INFO:ResourceLoader> Loaded 411 AvatarSkillDatas.
05:15:06 <INFO:ResourceLoader> Loaded 49 FetterCharacterCardDatas.
05:15:06 <INFO:ResourceLoader> Loaded 312 AvatarTalentDatas.
05:15:06 <INFO:ResourceLoader> Loaded 31 ForgeDatas.
05:15:06 <INFO:ResourceLoader> Loaded 668 RewardPreviewDatas.
05:15:06 <INFO:ResourceLoader> Loaded 168 MonsterDescribeDatas.
05:15:06 <INFO:ResourceLoader> Loaded 75 AvatarSkillDepotDatas.
05:15:06 <INFO:ResourceLoader> Loaded 2516 ProudSkillDatas.
05:15:06 <INFO:ResourceLoader> Loaded 297 CombineDatas.
05:15:06 <INFO:ResourceLoader> Loaded 200 MonsterCurveDatas.
05:15:06 <INFO:ResourceLoader> Loaded 497 CodexMaterialDatas.
05:15:06 <INFO:ResourceLoader> Loaded 350 AvatarPromoteDatas.
05:15:06 <INFO:ResourceLoader> Loaded 42 ReliquarySetDatas.
05:15:06 <INFO:ResourceLoader> Loaded 11420 QuestDatas.
05:15:06 <INFO:ResourceLoader> Loaded 49 TowerScheduleDatas.
05:15:06 <INFO:ResourceLoader> Loaded 734 SceneDatas.
05:15:06 <INFO:ResourceLoader> Loaded 3093 NpcDatas.
05:15:06 <INFO:ResourceLoader> Loaded 9 AvatarFlycloakDatas.
05:15:06 <INFO:ResourceLoader> Loaded 335 ReliquaryAffixDatas.
05:15:06 <INFO:ResourceLoader> Loaded 6868 GadgetDatas.
05:15:06 <INFO:ResourceLoader> Loaded 749 EquipAffixDatas.
05:15:06 <INFO:ResourceLoader> Loaded 101 ReliquaryLevelDatas.
05:15:06 <INFO:ResourceLoader> Loaded 8 WorldLevelDatas.
05:15:06 <INFO:ResourceLoader> Loaded 60 PlayerLevelDatas.
05:15:06 <INFO:ResourceLoader> Loaded 123 TowerLevelDatas.
05:15:07 <INFO:ResourceLoader> Loaded 59 AvatarCostumeDatas.
05:15:07 <INFO:ResourceLoader> Loaded 100 WeaponCurveDatas.
05:15:07 <INFO:ResourceLoader> Loaded 1230 ShopGoodsDatas.
05:15:07 <INFO:ResourceLoader> Loaded 66 ReliquaryMainPropDatas.
05:15:07 <INFO:ResourceLoader> Loaded 208 CodexQuestDatas.
05:15:07 <INFO:ResourceLoader> Loaded 814 DungeonDatas.
05:15:07 <INFO:ResourceLoader> Loaded 4182 RewardDatas.
05:15:07 <INFO:ResourceLoader> Loaded 100 AvatarCurveDatas.
05:15:07 <INFO:ResourceLoader> Loaded 90 AvatarLevelDatas.
05:15:07 <INFO:ResourceLoader> Loaded 41 TowerFloorDatas.
05:15:07 <INFO:ResourceLoader> Loaded 24 DailyDungeonDatas.
05:15:07 <INFO:ResourceLoader> Loaded 137 CodexWeaponDatas.
05:15:07 <INFO:ResourceLoader> Loaded 953 WeaponPromoteDatas.
05:15:07 <INFO:ResourceLoader> Loaded 6943 ItemDatas.
05:15:07 <INFO:ResourceLoader> Loaded 10 AvatarFetterLevelDatas.
05:15:07 <INFO:ResourceLoader> Loaded 233 CodexAnimalDatas.
05:15:07 <INFO:ResourceLoader> Loaded 90 WeaponLevelDatas.
05:15:07 <INFO:ResourceLoader> Loaded 81 CodexReliquaryDatas.
05:15:07 <INFO:ResourceLoader> Loaded 39 EnvAnimalGatherConfigDatas.
05:15:07 <INFO:ResourceLoader> Loaded 569 MonsterDatas.
05:15:07 <INFO:ResourceLoader> Loaded 80 AvatarDatas.
05:15:08 <INFO:ResourceLoader> Loaded 1508 MainQuestDatas.
05:15:09 <INFO:EnergyManager> Energy drop data successfully loaded.
05:15:09 <INFO:EnergyManager> Skill particle generation data successfully loaded.
05:15:09 <INFO:SLF4JLogger> Cluster created with settings {hosts=[mongodb.mongodb:27017], mode=SINGLE, requiredClusterType=UNKNOWN, serverSelectionTimeout='30000 ms'}
05:15:09 <INFO:SLF4JLogger> Opened connection [connectionId{localValue:2, serverValue:67}] to mongodb.mongodb:27017
05:15:09 <INFO:SLF4JLogger> Monitor thread successfully connected to server with description ServerDescription{address=mongodb.mongodb:27017, type=STANDALONE, state=CONNECTED, ok=true, minWireVersion=0, maxWireVersion=5, maxDocumentSize=16777216, logicalSessionTimeoutMinutes=null, roundTripTimeNanos=16049438}
05:15:09 <INFO:SLF4JLogger> Opened connection [connectionId{localValue:1, serverValue:66}] to mongodb.mongodb:27017
05:15:09 <INFO:SLF4JLogger> Opened connection [connectionId{localValue:3, serverValue:68}] to mongodb.mongodb:27017
05:15:09 <INFO:Log> Logging initialized @4931ms to org.eclipse.jetty.util.log.Slf4jLog
05:15:09 <INFO:GameServerPacketHandler> Registered 130 PacketHandlers
05:15:09 <INFO:GachaManager> Banners 38 successfully loaded.
05:15:09 <INFO:GachaManager> Banners 803 | GachaShowPanel_A022
05:15:09 <INFO:GachaManager> Banners 903 | GachaShowPanel_A081
05:15:09 <INFO:GachaManager> Banners 923 | GachaShowPanel_A082
05:15:09 <INFO:GachaManager> Banners 913 | GachaShowPanel_A083
05:15:09 <INFO:ShopManager> Shop data successfully loaded.
05:15:09 <INFO:ShopManager> ShopChest data successfully loaded.
05:15:09 <INFO:ShopManager> ShopChestBatchUse data successfully loaded.
05:15:09 <INFO:StdSchedulerFactory> Using default implementation for ThreadExecutor
05:15:09 <INFO:SimpleThreadPool> Job execution threads will use class loader of thread: main
05:15:09 <INFO:SchedulerSignalerImpl> Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl
05:15:09 <INFO:QuartzScheduler> Quartz Scheduler v.2.3.2 created.
05:15:09 <INFO:RAMJobStore> RAMJobStore initialized.
05:15:09 <INFO:QuartzScheduler> Scheduler meta-data: Quartz Scheduler (v2.3.2) 'DefaultQuartzScheduler' with instanceId 'NON_CLUSTERED'
  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
  NOT STARTED.
  Currently in standby mode.
  Number of jobs executed: 0
  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.
05:15:09 <INFO:StdSchedulerFactory> Quartz scheduler 'DefaultQuartzScheduler' initialized from default resource file in Quartz package: 'quartz.properties'
05:15:09 <INFO:StdSchedulerFactory> Quartz scheduler version: 2.3.2
05:15:09 <INFO:MoonCard> [Task] MoonCard task enabled.
05:15:09 <INFO:Banner> [Task] Banner task enabled.
05:15:09 <INFO:QuartzScheduler> Scheduler DefaultQuartzScheduler_$_NON_CLUSTERED started.
05:15:10 <INFO:DropManager> Drop data successfully loaded.
05:15:10 <INFO:ExpeditionManager> Expedition reward successfully loaded.
05:15:14 <INFO:Server> jetty-9.4.35.v20201120; built: 2020-11-20T21:17:03.964Z; git: bdc54f03a5e0a7e280fab27f55c3c75ee8da89fb; jvm 17.0.3+7
05:15:14 <INFO:SslContextFactory> x509=X509@4a105556(keystore_entry,h=[mydomain.com, localhost],w=[]) for Server@3a72e2e8[provider=null,keyStore=file:///home/Grasscutter/keystore.p12,trustStore=null]
05:15:14 <INFO:AbstractConnector> Started ServerConnector@4703c998{SSL, (ssl, http/1.1)}{0.0.0.0:443}
05:15:14 <INFO:Server> Started @9706ms
05:15:14 <INFO:Express> Server listening on http://0.0.0.0:443
05:15:14 <INFO:HttpServer> [Dispatch] Dispatch server started on port 443
05:15:14 <INFO:Grasscutter> Done! For help, type "help"
=>....
05:15:14 <INFO:GameServer> Grasscutter is FREE software. If you have paid for this, you may have been scammed. Homepage: https://github.com/Grasscutters/Grasscutter
>....
05:15:14 <INFO:GameServer> Game Server started on port 22102
>....
05:20:00 <INFO:GachaManager> Banners Event Now (1013) UI_GACHA_SHOW_PANEL_A056_TITLE successfully loaded. Next 1654982700
>....
05:20:00 <INFO:GachaManager> Banners Weapons Now (1123 ) UI_GACHA_SHOW_PANEL_A035_TITLE successfully loaded. Next 1654982700
>....
05:21:16 <INFO:HttpServer$UnhandledRequestRouter> [Dispatch] Potential unhandled GET request: https://genshin.local.domain/authentication/login.
>....
05:23:37 <INFO:DispatchHandler> [Dispatch] Client 192.168.0.55 is trying to log in.
>....
05:25:00 <INFO:GachaManager> Banners Event Now (833) UI_GACHA_SHOW_PANEL_A018_TITLE successfully loaded. Next 1654983000
>....
05:25:00 <INFO:GachaManager> Banners Weapons Now (1113 ) UI_GACHA_SHOW_PANEL_A064_TITLE successfully loaded. Next 1654983000
>....
05:30:00 <INFO:GachaManager> Banners Event Now (1063) UI_GACHA_SHOW_PANEL_A065_TITLE successfully loaded. Next 1654983300
>....
05:30:00 <INFO:GachaManager> Banners Weapons Now (1173 ) UI_GACHA_SHOW_PANEL_A078_TITLE successfully loaded. Next 1654983300
>....
05:35:00 <INFO:GachaManager> Banners Event Now (973) UI_GACHA_SHOW_PANEL_A048_TITLE successfully loaded. Next 1654983600
>....
05:35:00 <INFO:GachaManager> Banners Weapons Now (1153 ) UI_GACHA_SHOW_PANEL_A075_TITLE successfully loaded. Next 1654983600
>....
05:40:00 <INFO:GachaManager> Banners Event Now (1043) UI_GACHA_SHOW_PANEL_A062_TITLE successfully loaded. Next 1654983900
>....
05:40:00 <INFO:GachaManager> Banners Weapons Now (1123 ) UI_GACHA_SHOW_PANEL_A035_TITLE successfully loaded. Next 1654983900
>....
05:45:00 <INFO:GachaManager> Banners Event Now (1063) UI_GACHA_SHOW_PANEL_A065_TITLE successfully loaded. Next 1654984200
>....
05:45:00 <INFO:GachaManager> Banners Weapons Now (1153 ) UI_GACHA_SHOW_PANEL_A075_TITLE successfully loaded. Next 1654984200
>....
05:50:00 <INFO:GachaManager> Banners Event Now (973) UI_GACHA_SHOW_PANEL_A048_TITLE successfully loaded. Next 1654984500
>....
05:50:00 <INFO:GachaManager> Banners Weapons Now (1153 ) UI_GACHA_SHOW_PANEL_A075_TITLE successfully loaded. Next 1654984500
>....
05:52:48 <INFO:DispatchHandler> [Dispatch] Client 192.168.0.55 is trying to log in.
>....
05:55:00 <INFO:GachaManager> Banners Event Now (1073) UI_GACHA_SHOW_PANEL_A028_TITLE successfully loaded. Next 1654984800
>....
05:55:00 <INFO:GachaManager> Banners Weapons Now (1173 ) UI_GACHA_SHOW_PANEL_A078_TITLE successfully loaded. Next 1654984800
>....
06:00:00 <INFO:GachaManager> Banners Event Now (953) UI_GACHA_SHOW_PANEL_A044_TITLE successfully loaded. Next 1654985100
>....
06:00:00 <INFO:GachaManager> Banners Weapons Now (1173 ) UI_GACHA_SHOW_PANEL_A078_TITLE successfully loaded. Next 1654985100
>....
06:00:21 <INFO:DispatchHandler> [Dispatch] Client 192.168.0.55 is trying to log in.
>....
06:00:22 <INFO:DispatchHandler> [Dispatch] Client 192.168.0.55 is trying to log in.
>....
06:00:23 <INFO:DispatchHandler> [Dispatch] Client 192.168.0.55 is trying to log in.
>....
06:00:23 <INFO:DispatchHandler> [Dispatch] Client 192.168.0.55 is trying to log in.
>....
06:05:00 <INFO:GachaManager> Banners Event Now (863) UI_GACHA_SHOW_PANEL_A027_TITLE successfully loaded. Next 1654985400
>....
06:05:00 <INFO:GachaManager> Banners Weapons Now (1103 ) UI_GACHA_SHOW_PANEL_A038_TITLE successfully loaded. Next 1654985400
>....
06:05:14 <INFO:DispatchHandler> [Dispatch] Client 192.168.0.55 is trying to log in.
>....
06:05:18 <INFO:DispatchHandler> [Dispatch] Client 192.168.0.55 is trying to log in.
>....
06:05:21 <INFO:DispatchHandler> [Dispatch] Client 192.168.0.55 is trying to log in.
>....
06:05:22 <INFO:DispatchHandler> [Dispatch] Client 192.168.0.55 is trying to log in.
>....
06:05:23 <INFO:DispatchHandler> [Dispatch] Client 192.168.0.55 is trying to log in.
>....
06:05:24 <INFO:DispatchHandler> [Dispatch] Client 192.168.0.55 is trying to log in.
>....
06:05:26 <INFO:DispatchHandler> [Dispatch] Client 192.168.0.55 is trying to log in.
>....
06:06:28 <INFO:HttpServer$UnhandledRequestRouter> [Dispatch] Potential unhandled GET request: https://genshin.local.domain/favicon.ico.
>....
06:09:18 <INFO:RegionHandler> Client 192.168.0.55 (CNRELiOS2.7.0) (930af1f03222b44f) request: query_cur_region/os_usa
>....
06:09:18 <INFO:RegionHandler> https://genshin.local.domain/query_cur_region/os_usa?version=CNRELiOS2.7.0&lang=2&platform=1&binary=1&time=284&channel_id=1&sub_channel_id=0&account_type=1&dispatchSeed=930af1f03222b44f
>....
06:10:00 <INFO:GachaManager> Banners Event Now (1083) UI_GACHA_SHOW_PANEL_A071_TITLE successfully loaded. Next 1654985700
>....
06:10:00 <INFO:GachaManager> Banners Weapons Now (1153 ) UI_GACHA_SHOW_PANEL_A075_TITLE successfully loaded. Next 1654985700
>....
06:15:00 <INFO:GachaManager> Banners Event Now (973) UI_GACHA_SHOW_PANEL_A048_TITLE successfully loaded. Next 1654986000
>....
06:15:00 <INFO:GachaManager> Banners Weapons Now (1133 ) UI_GACHA_SHOW_PANEL_A070_TITLE successfully loaded. Next 1654986000
>....
06:15:16 <INFO:HttpServer$UnhandledRequestRouter> [Dispatch] Potential unhandled GET request: https://genshin.local.domain/hk4e_cn/combo/granter/api/compareProtocolVersion.
>....
06:15:16 <INFO:RegionHandler> [Dispatch] Client 192.168.0.55 request: query_region_list
>....
06:15:17 <INFO:HttpServer$UnhandledRequestRouter> [Dispatch] Potential unhandled GET request: https://genshin.local.domain/admin/mi18n/plat_oversea/m202003048/m202003048-zh-cn.json.
>....
06:15:17 <INFO:DispatchHandler> [Dispatch] Client 192.168.0.55 is trying to log in.
>....
06:15:44 <INFO:HttpServer$UnhandledRequestRouter> [Dispatch] Potential unhandled GET request: https://genshin.local.domain/hk4e_cn/combo/granter/api/compareProtocolVersion.
>....
06:15:44 <INFO:RegionHandler> [Dispatch] Client 192.168.0.55 request: query_region_list
>....
06:15:45 <INFO:HttpServer$UnhandledRequestRouter> [Dispatch] Potential unhandled GET request: https://genshin.local.domain/admin/mi18n/plat_oversea/m202003048/m202003048-zh-cn.json.
>....
06:15:56 <INFO:HttpServer$UnhandledRequestRouter> [Dispatch] Potential unhandled GET request: https://genshin.local.domain/hk4e_cn/combo/granter/api/compareProtocolVersion.
>....
06:16:30 <INFO:DispatchHandler> [Dispatch] Client 192.168.0.55 is trying to log in.
>....
06:16:52 <INFO:RegionHandler> Client 192.168.0.226 (CNRELiOS2.7.0) (930af1f03222b44f) request: query_cur_region/os_usa
>....
06:16:52 <INFO:RegionHandler> https://genshin.local.domain/query_cur_region/os_usa?version=CNRELiOS2.7.0&lang=2&platform=1&binary=1&time=284&channel_id=1&sub_channel_id=0&account_type=1&dispatchSeed=930af1f03222b44f

Access on mobile

IMG_5375

Connection refused

I've done everything in the exact way that the tutorial says, but when I try to start the server it says:

Exception in monitor thread while connecting to server localhost:27017
com.mongodb.MongoSocketOpenException: Exception opening socket

imagem_2022-06-08_013322948

What should I do?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.