summaryrefslogtreecommitdiff
path: root/docker/velocity/compose.yaml
blob: 163deef3bbb437a5533ffb69c2c7bf7deea2bb85 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
services:
  velocity:
    image: itzg/mc-proxy:java25
    container_name: debug-velocity
    ports:
      - "25577:25577"
    volumes:
      - lunatic-debug-velocity-data:/server
      - ./plugins-velocity:/server/plugins
      - ./velocity.toml:/server/velocity.toml
    environment:
      TYPE: "VELOCITY"
      # 未指定だと latest (現時点では 4.x 系) が落ちてくるため固定する。
      # platform-velocity/build.gradle.kts の velocity-api から ./x が導出する
      VELOCITY_VERSION: "${VELOCITY_VERSION:?run via ./x}"
      MEMORY: "512M"
      ONLINE_MODE: "false"
    depends_on:
      s1:
        condition: service_healthy
      s2:
        condition: service_healthy
    healthcheck:
      # mc-proxy イメージに mc-health は無い (minecraft-server イメージ側のコマンド)
      test: health.sh
      start_period: 60s
      interval: 10s
      timeout: 5s
      retries: 3
    networks:
      - minecraft-network

  s1:
    image: itzg/minecraft-server:java25
    container_name: debug-server-s1
    expose:
      - "25565"
    ports:
      - "25575:25575"
    volumes:
      - lunatic-debug-s1-data:/data
      - ./plugins-paper-s1:/data/plugins
      - ./bukkit.yml:/data/bukkit.yml
    environment:
      EULA: "TRUE"
      TYPE: "PAPER"
      # platform-paper/build.gradle.kts の paper-api から ./x が導出する
      VERSION: "${PAPER_MC_VERSION:?run via ./x}"
      PAPER_BUILD: "${PAPER_BUILD:?run via ./x}"
      MEMORY: "1G"

      # デバッグ用高速化設定
      LEVEL_TYPE: "flat"
      VIEW_DISTANCE: "3"
      SIMULATION_DISTANCE: "3"
      GENERATE_STRUCTURES: "false"
      SPAWN_PROTECTION: "0"
      ALLOW_NETHER: "false"

      # 権限関連
      OVERRIDE_SERVER_PROPERTIES: "true"

      ENABLE_RCON: "true"
      RCON_PASSWORD: "minecraft"
      RCON_PORT: 25575

      DIFFICULTY: "peaceful"
      MAX_PLAYERS: "3"
      ONLINE_MODE: "false"
      SYNC_SKIP_NEWER_IN_DESTINATION: "false"
    networks:
      - minecraft-network
    healthcheck:
      test: mc-health
      start_period: 60s
      interval: 10s
      timeout: 5s
      retries: 3
    tty: true
    stdin_open: true

  s2:
    image: itzg/minecraft-server:java25
    container_name: debug-server-s2
    expose:
      - "25565"
    ports:
      - "25576:25575"
    volumes:
      - lunatic-debug-s2-data:/data
      - ./plugins-paper-s2:/data/plugins
      - ./bukkit.yml:/data/bukkit.yml
    environment:
      EULA: "TRUE"
      TYPE: "PAPER"
      # platform-paper/build.gradle.kts の paper-api から ./x が導出する
      VERSION: "${PAPER_MC_VERSION:?run via ./x}"
      PAPER_BUILD: "${PAPER_BUILD:?run via ./x}"
      MEMORY: "1G"

      # デバッグ用高速化設定
      LEVEL_TYPE: "flat"
      VIEW_DISTANCE: "3"
      SIMULATION_DISTANCE: "3"
      GENERATE_STRUCTURES: "false"
      SPAWN_PROTECTION: "0"
      ALLOW_NETHER: "false"

      # 権限関連
      OVERRIDE_SERVER_PROPERTIES: "true"

      ENABLE_RCON: "true"
      RCON_PASSWORD: "minecraft"
      RCON_PORT: 25575

      DIFFICULTY: "peaceful"
      MAX_PLAYERS: "3"
      ONLINE_MODE: "false"
      SYNC_SKIP_NEWER_IN_DESTINATION: "false"
    networks:
      - minecraft-network
    healthcheck:
      test: mc-health
      start_period: 60s
      interval: 10s
      timeout: 5s
      retries: 3
    tty: true
    stdin_open: true

networks:
  minecraft-network:
    driver: bridge

volumes:
  lunatic-debug-s1-data:
  lunatic-debug-s2-data:
  lunatic-debug-velocity-data: