services: velocity: image: itzg/mc-proxy:java21-2025.1.0 container_name: illegal_crime_velocity user: "${UID}:${GID}" restart: unless-stopped depends_on: fabric: condition: service_healthy restart: true luckperms_db: condition: service_healthy restart: true secrets: - rcon_password - forwarding_secret - dclink_guild - dclink_channel - dclink_role - dclink_token - luckperms_db_password networks: illegal_crime_mc_network: ipv4_address: "10.100.1.3" ports: - "${VELOCITY_PORT}:25565/tcp" volumes: - ./velocity/data:/server:rw - ./velocity/config:/config:ro environment: TYPE: VELOCITY SERVER_NAME: Illegal Crime MINECRAFT_VERSION: "1.21.3" INIT_MEMORY: 512m MAX_MEMORY: 1G REPLACE_ENV_VARIABLES: true ENV_VARIABLE_PREFIX: CFG_ ENABLE_RCON: true RCON_PORT: 25575 RCON_PASSWORD_FILE: /run/secrets/rcon_password CFG_RCON_PASSWORD_FILE: /run/secrets/rcon_password CFG_DCLINK_GUILD_FILE: /run/secrets/dclink_guild CFG_DCLINK_CHANNEL_FILE: /run/secrets/dclink_channel CFG_DCLINK_ROLE_FILE: /run/secrets/dclink_role CFG_DCLINK_TOKEN_FILE: /run/secrets/dclink_token CFG_LUCKPERMS_DB_PASSWORD_FILE: /run/secrets/luckperms_db_password PLUGINS: | https://github.com/dbkynd-minecraft/VelocityPlayerList/releases/download/v1.0/PlayerList-1.0.jar MODRINTH_PROJECTS: | dclink:EjvGsLkv luckperms:vtXGoeps signedvelocity:Jp1p9BHR velocitab:TTtLPunq fabric: image: itzg/minecraft-server container_name: illegal_crime_fabric restart: unless-stopped depends_on: luckperms_db: condition: service_healthy restart: true secrets: - rcon_password - forwarding_secret - luckperms_db_password networks: illegal_crime_mc_network: ipv4_address: "10.100.1.5" volumes: - ./fabric/data:/data:rw - ./fabric/config:/config:ro - ./schematics:/data/config/worldedit/schematics:rw environment: UID: "${UID}" GID: "${GID}" EULA: true TYPE: FABRIC SERVER_NAME: Illegal Crime Fabric MOTD: Credit VERSION: "1.21.3" INIT_MEMORY: 512m MAX_MEMORY: 4G ENABLE_AUTOPAUSE: true MAX_TICK_TIME: -1 ENFORCE_SECURE_PROFILE: false SNOOPER_ENABLED: false ENABLE_QUERY: false BROADCAST_CONSOLE_TO_OPS: false BROADCAST_RCON_TO_OPS: false ONLINE_MODE: false OP_PERMISSION_LEVEL: 2 MAX_PLAYERS: 50 DIFFICULTY: easy LEVEL: world MODE: creative LEVEL_TYPE: minecraft:flat ENABLE_COMMAND_BLOCK: true GENERATE_STRUCTURES: false SPAWN_ANIMALS: false SPAWN_MONSTERS: false SPAWN_NPCS: false SPAWN_PROTECTION: 0 USE_AIKAR_FLAGS: true LOG_TIMESTAMP: true REPLACE_ENV_IN_PLACE: true REPLACE_ENV_DURING_SYNC: true REPLACE_ENV_VARIABLE_PREFIX: CFG_ ENABLE_RCON: true RCON_PORT: 25575 RCON_PASSWORD_FILE: /run/secrets/rcon_password CFG_RCON_PASSWORD_FILE: /run/secrets/rcon_password CFG_FORWARDING_SECRET_FILE: /run/secrets/forwarding_secret CFG_LUCKPERMS_DB_PASSWORD_FILE: /run/secrets/luckperms_db_password RCON_CMDS_STARTUP: |- gamerule announceAdvancements false gamerule commandBlocksEnabled true gamerule commandBlockOutput false gamerule doDaylightCycle false gamerule doEntityDrops false gamerule doFireTick false gamerule doInsomnia false gamerule doImmediateRespawn true gamerule doMobLoot false gamerule doMobSpawning false gamerule doPatrolSpawning false gamerule doTileDrops false gamerule doTraderSpawning false gamerule doVinesSpread false gamerule doWeatherCycle false gamerule doWardenSpawning false gamerule keepInventory true gamerule logAdminCommands false gamerule modGriefing false gamerule playersSleepingPercentage 0 gamerule recipesUnlock false gamerule showRecipeMessages false gamerule tntExplodes false time set 1000 weather clear MODRINTH_PROJECTS: | badpackets:hjhT2sMz carpet-extra:WDB4578I carpet-tis-addition:znBCTqSr cloth-config:FgXq8Sfo collective:UqTBXnWC capture-playback:YmnYuB3l carpet:ZF8ufR9V fabric-api:Ybg4nYGj fabricproxy-lite:AQhF7kvw fabric-language-kotlin:476dzMG5 g4mespeed:oPV7qsy2 krypton:Acz3ttTp ksyxis:ueN87SNs litematica-server-paster:LttjgeM4 lithium:W0Cc7ZVd luckperms:S8033hpf mods-command:1F0YwdWN no-chat-reports:Cg7X9iDa packet-fixer:XBM9PO5r redstone-multimeter:kTiP34Lj servercore:PgKTFLEL servux:u85kwLvC signedvelocity:AusZl7xe spark:rExumjPo threadtweak:HV6EY0h3 vanilla-permissions:7awQNHzw worldedit:3TQ8W0Ar luckperms_db: image: postgres:17.4 container_name: illegal_crime_luckperms_db user: "${UID}:${GID}" restart: unless-stopped healthcheck: test: ["CMD-SHELL", "pg_isready -U luckperms -d luckperms"] interval: 10s retries: 5 start_period: 30s timeout: 10s secrets: - luckperms_db_password networks: illegal_crime_mc_network: ipv4_address: "10.100.1.2" volumes: - /etc/passwd:/etc/passwd:ro - ./luckperms/data:/var/lib/postgresql/data:rw environment: POSTGRES_PASSWORD_FILE: /run/secrets/luckperms_db_password POSTGRES_USER: luckperms POSTGRES_DB: luckperms PGDATA: /var/lib/postgresql/data/pgdata secrets: rcon_password: environment: RCON_PASSWORD forwarding_secret: environment: FORWARDING_SECRET dclink_guild: environment: DCLINK_GUILD dclink_channel: environment: DCLINK_CHANNEL dclink_role: environment: DCLINK_ROLE dclink_token: environment: DCLINK_TOKEN luckperms_db_password: environment: LUCKPERMS_DB_PASSWORD networks: illegal_crime_mc_network: name: illegal_crime_mc_network driver: bridge ipam: driver: default config: - subnet: "10.100.1.0/24" gateway: "10.100.1.1"