YuukiPS/DockerGS

Constant restart on grasscutter

Dauntless-One opened this issue · 3 comments

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

the default config expects an extract resources.zip -> /resources.
as part of unstable, a fix for resource checking was implemented, and clearly the dockerfile wasn't fixed to change the config.json

@KingRainbow44 Thanks for the confirmation that it was the resources directory having no files in it. I was able to "correct" the issue by downloading the resources folder manually from the gitlab project here and importing the extracted contents into the bind volume for grasscutter container.

Could this have been avoided before hand by making any changes in my docker compose, or does it require a change to be made to the dockerfile or built image itself?

download res data should have been fixed in current version, but for older versions < 3.6, maybe we need to add more md5 info (later), If you bind res folder, it's better to download & copy manually and use --download_resource 'no'