Configuration
Game server: plugins/GrayCorePaper/config.yml
spawn: # where /spawn and teleportOnJoin send players
world: "world"
x: 0.5
y: 64
z: 0.5
yaw: 0
pitch: 0
teleportOnJoin: true # send players to the spawn when they join
database:
endpoint: "jdbc:postgresql://localhost:5432/postgres"
username: "graycore"
password: "123"
schema: "public"
enableLiquibase: false # create and migrate the schema at startup (one server is enough)
poolName: "GrayCorePool"
maxPoolSize: 10 # connection pool (HikariCP)
minIdle: 10
maxLifetime: 1800000 # ms
keepAliveTime: 0 # ms
timeout: 5000 # ms
redis:
host: "localhost"
port: 6379
username:
password: 123
timeout: 10 # seconds
actuator: # health and metrics over HTTP
enabled: false
port: 8080
/gcadmin reload reads it again.
Proxy: plugins/graycore-velocity/config.yml
database: # same settings as on the game servers
endpoint: jdbc:postgresql://localhost:5432/postgres
username: graycore
password: 123
schema: public
createStructure: false # create and migrate the schema at startup
poolName: GrayCorePool
maxPoolSize: 10
minIdle: 10
maxLifetime: 1800000
keepAliveTime: 0
timeout: 5000
actuator:
enabled: false
port: 8080
Modules: plugins/GrayCorePaper/modules/<id>/config.yml
Each module has its enabled switch and its own settings, see Modules.
server-service: application.yaml
| Setting | Default | What it is |
|---|---|---|
server.port | 8080 | HTTP: health and metrics (/actuator/health, /actuator/metrics). |
spring.grpc.server.port | 9090 | gRPC, where game servers and proxies connect. |
server-service.api-key | ${GRPC_API_KEY} | The key every client must present. |
server-service.server-ttl-ms | 3000 | A game server silent for longer than this is removed (heartbeats come every 500 ms). |
Texts
Every player-facing text is in locale/en.yml, next to each configuration, in
MiniMessage. Edit them there; a key you remove falls back to the default.