Skip to main content

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​

SettingDefaultWhat it is
server.port8080HTTP: health and metrics (/actuator/health, /actuator/metrics).
spring.grpc.server.port9090gRPC, where game servers and proxies connect.
server-service.api-key${GRPC_API_KEY}The key every client must present.
server-service.server-ttl-ms3000A 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.