blob: a52964c1d181cf3fbbe51542f164e3eeb578d3e5 (
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
|
#!/usr/bin/env bash
set -e
DC_VELOCITY="docker compose -f docker/velocity/compose.yaml"
DC_FOLIA="docker compose -f docker/folia/compose.yaml"
help() {
cat <<EOF
Usage: ./x <command> [options]
Velocity environment (Paper s1 + s2 + Velocity proxy):
start Build Paper+Velocity and start all containers
start-s1 Build Paper and start only s1 container
restart Restart s1, s2 and velocity containers
stop Stop velocity environment
clean Stop velocity environment and remove volumes
rcon [server] Open rcon-cli for server container (default: s1)
Available servers: s1, s2
logs [server] Show server container logs (default: s1)
Available servers: s1, s2
vlogs Show velocity proxy container logs
Folia environment (single Folia server):
folia start Build Paper and start Folia server
folia restart Restart Folia server
folia stop Stop Folia server
folia clean Stop Folia server and remove volumes
folia rcon Open rcon-cli for Folia server
folia logs Show Folia server logs
General:
help Show this help message
EOF
}
ensure_plugin_dir() {
mkdir -p "$1"
}
# --- Folia commands ---
folia_cmd() {
case "${1:-}" in
start)
./gradlew :platform-paper:clean :platform-paper:shadowJar
ensure_plugin_dir docker/folia/plugins
rm -f docker/folia/plugins/*.jar
cp platform-paper/build/libs/*.jar docker/folia/plugins/
$DC_FOLIA up
;;
restart)
$DC_FOLIA restart folia
;;
stop)
$DC_FOLIA down
;;
clean)
$DC_FOLIA down -v
;;
rcon)
$DC_FOLIA exec folia rcon-cli
;;
logs)
$DC_FOLIA logs -f folia
;;
*)
echo "Unknown folia command: ${1:-}"
echo ""
help
exit 1
;;
esac
}
# --- Main ---
case "${1:-}" in
folia)
folia_cmd "${2:-}"
;;
start)
./gradlew :platform-paper:clean :platform-paper:shadowJar :platform-velocity:clean :platform-velocity:shadowJar
ensure_plugin_dir docker/velocity/plugins-paper-s1
ensure_plugin_dir docker/velocity/plugins-paper-s2
ensure_plugin_dir docker/velocity/plugins-velocity
rm -f docker/velocity/plugins-paper-s1/*.jar
rm -f docker/velocity/plugins-paper-s2/*.jar
rm -f docker/velocity/plugins-velocity/*.jar
cp platform-paper/build/libs/*.jar docker/velocity/plugins-paper-s1/
cp platform-paper/build/libs/*.jar docker/velocity/plugins-paper-s2/
cp platform-velocity/build/libs/*.jar docker/velocity/plugins-velocity/
$DC_VELOCITY up
;;
start-s1)
./gradlew :platform-paper:clean :platform-paper:shadowJar
ensure_plugin_dir docker/velocity/plugins-paper-s1
rm -f docker/velocity/plugins-paper-s1/*.jar
cp platform-paper/build/libs/*.jar docker/velocity/plugins-paper-s1/
$DC_VELOCITY up s1
;;
restart)
$DC_VELOCITY restart s1 s2 velocity
;;
stop)
$DC_VELOCITY down
;;
clean)
$DC_VELOCITY down -v
;;
rcon)
SERVER="${2:-s1}"
if [[ "$SERVER" != "s1" && "$SERVER" != "s2" ]]; then
echo "Error: Invalid server '$SERVER'. Available servers: s1, s2"
exit 1
fi
$DC_VELOCITY exec "$SERVER" rcon-cli
;;
logs)
SERVER="${2:-s1}"
if [[ "$SERVER" != "s1" && "$SERVER" != "s2" ]]; then
echo "Error: Invalid server '$SERVER'. Available servers: s1, s2"
exit 1
fi
$DC_VELOCITY logs -f "$SERVER"
;;
vlogs)
$DC_VELOCITY logs -f velocity
;;
help|"")
help
;;
*)
echo "Unknown command: $1"
echo ""
help
exit 1
;;
esac
|