Generelt om oppsett

  • Kjører alt fra docker-compose
  • Også mysql, port 3306 - passord: root
  • velocity.toml referer til container_name og port 25565 og nås ved /server container_name

Player information forwarding (https://docs.papermc.io/velocity/player-information-forwarding)må gjøres pr ny server:

  • I server/config/paper-global.yml: proxies.velocity.enabled og proxies.velocity.secret skal matche forwarding.secret-fila
  • Husk å definere offline-mode i docker-compose.yml

Når man setter opp ny server må også følgende inn i server/plugins/LuckPerms/config.yml:

storage-method: MariaDB
data:
  address: mysql
  database: luckperms
  username: root  
  password: 'root'

velocity.toml

[servers]
lobby = "mc:25565"
flat = "flat:25565"

database

Kjører mariadb-server i docker. docker exec -it mysql mariadb -p og create database luckperms; f.eks.

plugins

Sjekk: https://hangar.papermc.io/?page=0&platform=VELOCITY&sort=-stars

Og dobbeltsjekk med plugins

Plugin Proxy Backend Database Notater
Viaversion/backwards x sjekk update-script.sh
Geyser x automagisk via docker-compose.yml
Floodgate x x automagisk via docker-compose.yml
Luckperms x x x
Vault x overlevelse
Citizens2 x lobby og overlevelse
Worldedit/worldguard x overlevelse og kreativ
Griefprevention x overlevelse og kreativ?? dobbeltsjekk
EssentialsX x overlevelse og flere, for å få kjekke kommandoer
Lushrewards x x
Jobs reborn + cmilib x x på overlevelse
CommandPanels x
Kartplugin x overlevelse og kreativ, burde legges på flatland også
AuctionHouse x ? kun overlevelse, trenger vel ikke db?

docker-compose.yml

services:
  swag:
    image: lscr.io/linuxserver/swag:latest
#    user: 1001:1001
    container_name: swag
    restart: unless-stopped
    cap_add:
      - NET_ADMIN
    environment:
      - TZ=Europe/Oslo
      - URL=mc.eastsidegamers.no
      - VALIDATION=http
    volumes:
      - ./swag:/config
      - ./overlevelse/plugins/squaremap/web:/www/
    ports:
      - 443:443
      - 80:80 #optional

  mysql:
    container_name: mysql
    user: 1001:1001
    image: mariadb:11.5.2
    command: --default-authentication-plugin=mysql_native_password
    restart: unless-stopped
    environment:
      TZ: Europe/Oslo
      MYSQL_ROOT_PASSWORD: root
    ports:
      - 0.0.0.0:3306:3306
    volumes:
      - ./mysql:/var/lib/mysql

  velocity:
    container_name: velocity
    user: 1001:1001
    image: itzg/mc-proxy
    tty: true
    stdin_open: true
    restart: unless-stopped
    depends_on:
      mysql:
        condition: service_started
        restart: true
    environment:
      TYPE: VELOCITY
      VELOCITY_VERSION: 3.4.0-SNAPSHOT
      DEBUG: "false"
      ENABLE_RCON: "true"
      TZ: Europe/Oslo
#      JVM_OPTS: -Dvelocity.packet-decode-logging=true
      PLUGINS: |
        https://download.geysermc.org/v2/projects/geyser/versions/latest/builds/latest/downloads/velocity
        https://download.geysermc.org/v2/projects/floodgate/versions/latest/builds/latest/downloads/velocity
    ports:
      - 25565:25565 # bytt til 25565 når den skal online
      - 19132:19132/udp
    volumes:
      - ./velocity:/server
 

  lobby:
    container_name: lobby
    user: 1001:1001
    image: itzg/minecraft-server
    restart: unless-stopped
    environment:
      TZ: Europe/Oslo
      EULA: "TRUE"
      ONLINE_MODE: "FALSE"
      TYPE: PAPER
      VERSION: 1.21.1
      PLUGINS: |
        https://download.geysermc.org/v2/projects/floodgate/versions/latest/builds/latest/downloads/spigot
    volumes:
      - ./lobby:/data

  kreativ:
    container_name: kreativ
    user: 1001:1001
    image: itzg/minecraft-server
    restart: unless-stopped
    environment:
      TZ: Europe/Oslo
      EULA: "TRUE"
      ONLINE_MODE: "FALSE"
      TYPE: PAPER
      VERSION: 1.21.1
      PLUGINS: |
        https://download.geysermc.org/v2/projects/floodgate/versions/latest/builds/latest/downloads/spigot
    volumes:
      - ./kreativ:/data

  overlevelse:
    container_name: overlevelse
    user: 1001:1001
    image: itzg/minecraft-server
    restart: unless-stopped
    environment:
      TZ: Europe/Oslo
      EULA: "TRUE"
      ONLINE_MODE: "FALSE"
      TYPE: PAPER
      VERSION: 1.20.4
      PLUGINS: |
        https://download.geysermc.org/v2/projects/floodgate/versions/latest/builds/latest/downloads/spigot
    volumes:
      - ./overlevelse:/data

  flatland:
    container_name: flatland
    user: 1001:1001
    image: itzg/minecraft-server
    restart: unless-stopped
    environment:
      TZ: Europe/Oslo
      EULA: "TRUE"
      ONLINE_MODE: "FALSE"
      TYPE: PAPER
      VERSION: 1.21.1
      FORCE_GAMEMODE: true
      MODE: creative
      PVP: false
      LEVEL_TYPE: flat
      PLUGINS: |
        https://download.geysermc.org/v2/projects/floodgate/versions/latest/builds/latest/downloads/spigot
    volumes:
      - ./flatland:/data

  games:
    container_name: games
    user: 1001:1001
    image: itzg/minecraft-server
    restart: unless-stopped
    environment:
      TZ: Europe/Oslo
      EULA: "TRUE"
      ONLINE_MODE: "FALSE"
      TYPE: PAPER
      VERSION: 1.21.3
#      FORCE_GAMEMODE: true
#      MODE: survival
#      PVP: false
      LEVEL_TYPE: flat
      PLUGINS: |
        https://download.geysermc.org/v2/projects/floodgate/versions/latest/builds/latest/downloads/spigot
    volumes:
      - ./games:/data

volumes:
  swag:
  mysql:
  velocity:
  lobby:
  kreativ:
  overlevelse:
  flatland:
  games: