yuukips / dockergs Goto Github PK
View Code? Open in Web Editor NEWDockerGC is a container that run Grasscutter (anime game) with just a single command.
License: GNU Affero General Public License v3.0
DockerGC is a container that run Grasscutter (anime game) with just a single command.
License: GNU Affero General Public License v3.0
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;
}
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
The link you put in README.md is lost. Could you please replenish it?
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.
3.3No active icon
The data was loaded successfully
Can you provide 3.5 local files, even if he has problems
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文件
---
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
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
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:
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文件
# 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
Then i get white screen
Then timeout
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
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.
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"
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
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?
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
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
It seems to support -p, but there's no code in current entry.sh
i finished downloading resources using the commands and everything in docketrgc but cant create an account or use commands make my own server
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
user name : testzyk
UID : 10114
Cloning into 'gi-bin-output'...
remote: Repository unavailable due to DMCA takedown.
remote: See the takedown notice for more details:
remote: https://github.com/github/dmca/blob/master/2022/04/2022-04-28-genshin-impact.md.
fatal: unable to access 'https://github.com/radioegor146/gi-bin-output/': The requested URL returned error: 403
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?
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:
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.
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?
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?
I want to deploy this on my raspberry pi but it seems there is no ARM tags on dockerhub.
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.
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.
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
Why can't we inspect the code..
22102 怎么做转发,通过一个域名,现在客户端一直保4206
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)
server version is 2.7 , your current version is ~3.0
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协议提供服务。
Someone made the compose before but you can use it for reference, thanks to @suggoitanoshi for the gist.
I see this server using Mongo as database. My suggestion to wrap it into compose because we don't need installing the mongodb out of the container. Just docker compose up
and we're go.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.