Skip to content

Commit 31c02ea

Browse files
committed
moved to de.eztxm
1 parent e106b00 commit 31c02ea

File tree

8 files changed

+69
-60
lines changed

8 files changed

+69
-60
lines changed

dsm-common/src/main/java/com/twoweeksmc/dsm/common/server/ServerState.java renamed to dsm-common/src/main/java/de/eztxm/dsm/common/server/ServerState.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.twoweeksmc.dsm.common.server;
1+
package de.eztxm.dsm.common.server;
22

33
public enum ServerState {
44
OFFLINE,
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
package de.eztxm.dsm.common.server.configuration;
2+
3+
public class ServerConfiguration {
4+
}

dsm-common/src/main/java/com/twoweeksmc/dsm/common/server/ServerContainer.java renamed to dsm-common/src/main/java/de/eztxm/dsm/common/server/container/ServerContainer.java

Lines changed: 20 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.twoweeksmc.dsm.common.server;
1+
package de.eztxm.dsm.common.server.container;
22

33
import com.github.dockerjava.api.DockerClient;
44
import com.github.dockerjava.api.async.ResultCallback;
@@ -14,6 +14,7 @@
1414
import java.util.UUID;
1515

1616
public class ServerContainer extends Thread {
17+
private final String prefix;
1718
private final DockerClient dockerClient;
1819
private final String basePath;
1920
private String platform;
@@ -23,15 +24,17 @@ public class ServerContainer extends Thread {
2324
private String serverPath;
2425
private int port;
2526

26-
public ServerContainer(DockerClient dockerClient, String basePath, String platform, String version, int port) {
27+
public ServerContainer(String prefix, DockerClient dockerClient, String basePath, String platform, String version, int port) {
28+
this.prefix = prefix;
2729
this.dockerClient = dockerClient;
2830
this.basePath = basePath;
2931
this.platform = platform;
3032
this.version = version;
3133
this.port = port;
3234
}
3335

34-
public ServerContainer(DockerClient dockerClient, String basePath, String containerId, String uniqueId) {
36+
public ServerContainer(String prefix, DockerClient dockerClient, String basePath, String containerId, String uniqueId) {
37+
this.prefix = prefix;
3538
this.dockerClient = dockerClient;
3639
this.basePath = basePath;
3740
this.containerId = containerId;
@@ -47,11 +50,9 @@ public String createAndStartContainer() {
4750
this.uniqueId = UUID.randomUUID();
4851
this.serverPath = this.basePath + "/" + this.uniqueId + "/server";
4952
String imageName = "itzg/minecraft-server";
50-
String containerName = "2weeksmc-server-" + this.uniqueId;
53+
String containerName = this.prefix + "-" + this.uniqueId;
5154
File serverDir = new File(this.serverPath);
52-
if (!serverDir.exists()) {
53-
serverDir.mkdirs();
54-
}
55+
createServerDirectory(serverDir);
5556
Volume serverVolume = new Volume("/data");
5657
ExposedPort containerPort = ExposedPort.tcp(25565);
5758
Ports portBindings = new Ports();
@@ -60,7 +61,8 @@ public String createAndStartContainer() {
6061
.withName(containerName)
6162
.withHostConfig(HostConfig.newHostConfig()
6263
.withBinds(new Bind(this.serverPath, serverVolume))
63-
.withPortBindings(portBindings))
64+
.withPortBindings(portBindings)
65+
.withRestartPolicy(RestartPolicy.alwaysRestart()))
6466
.withEnv("EULA=TRUE", "TYPE=" + this.platform.toUpperCase(), "VERSION=" + this.version)
6567
.exec();
6668
this.containerId = container.getId();
@@ -112,11 +114,9 @@ public void close() {
112114
public String recreateAndStartContainerFromDirectory(String uniqueId) {
113115
this.uniqueId = UUID.fromString(uniqueId);
114116
this.serverPath = this.basePath + "/" + this.uniqueId + "/server";
115-
String containerName = "2weeksmc-server-" + this.uniqueId;
117+
String containerName = this.prefix + "-" + this.uniqueId;
116118
File serverDir = new File(serverPath);
117-
if (!serverDir.exists()) {
118-
serverDir.mkdirs();
119-
}
119+
createServerDirectory(serverDir);
120120
Volume serverVolume = new Volume("/data");
121121
ExposedPort containerPort = ExposedPort.tcp(25565);
122122
Ports portBindings = new Ports();
@@ -125,7 +125,8 @@ public String recreateAndStartContainerFromDirectory(String uniqueId) {
125125
.withName(containerName)
126126
.withHostConfig(HostConfig.newHostConfig()
127127
.withBinds(new Bind(serverPath, serverVolume))
128-
.withPortBindings(portBindings))
128+
.withPortBindings(portBindings)
129+
.withRestartPolicy(RestartPolicy.alwaysRestart()))
129130
.withEnv("EULA=TRUE", "TYPE=" + this.platform.toUpperCase(), "VERSION=" + this.version)
130131
.exec();
131132
this.containerId = container.getId();
@@ -193,6 +194,12 @@ public void removeContainer() {
193194
}
194195
}
195196

197+
private void createServerDirectory(File serverDir) {
198+
if (!serverDir.exists()) {
199+
serverDir.mkdirs();
200+
}
201+
}
202+
196203
public String getServerPath() {
197204
return this.serverPath;
198205
}

dsm-common/src/main/java/com/twoweeksmc/dsm/common/server/ServerManager.java renamed to dsm-common/src/main/java/de/eztxm/dsm/common/server/manager/ServerManager.java

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.twoweeksmc.dsm.common.server;
1+
package de.eztxm.dsm.common.server.manager;
22

33
import java.io.File;
44
import java.io.IOException;
@@ -12,6 +12,8 @@
1212
import java.util.Map;
1313
import java.util.stream.Collectors;
1414

15+
import de.eztxm.dsm.common.server.ServerState;
16+
import de.eztxm.dsm.common.server.container.ServerContainer;
1517
import org.json.JSONException;
1618
import org.json.JSONObject;
1719

@@ -23,13 +25,15 @@
2325
import com.github.dockerjava.httpclient5.ApacheDockerHttpClient;
2426

2527
public class ServerManager extends Thread {
28+
private final String prefix;
2629
private final int startPort;
2730
private final String basePath;
2831
private DockerClient dockerClient;
2932
private HashMap<String, ServerContainer> serverContainers;
3033
private HashMap<String, Path> containerPaths;
3134

32-
public ServerManager(int startPort, String basePath) {
35+
public ServerManager(String prefix, int startPort, String basePath) {
36+
this.prefix = prefix;
3337
this.startPort = startPort;
3438
this.basePath = basePath;
3539
}
@@ -51,7 +55,7 @@ public void run() {
5155

5256
public void createServerContainer(String platform, String version) {
5357
this.mapping();
54-
ServerContainer container = new ServerContainer(this.dockerClient, this.basePath, platform, version,
58+
ServerContainer container = new ServerContainer(this.prefix, this.dockerClient, this.basePath, platform, version,
5559
this.getFreePort());
5660
container.start();
5761
String containerId = container.createAndStartContainer();
@@ -60,7 +64,7 @@ public void createServerContainer(String platform, String version) {
6064

6165
public void recreateServerContainer(String platform, String version, String uniqueId) {
6266
this.mapping();
63-
ServerContainer container = new ServerContainer(this.dockerClient, this.basePath, platform, version,
67+
ServerContainer container = new ServerContainer(this.prefix, this.dockerClient, this.basePath, platform, version,
6468
this.getFreePort());
6569
container.start();
6670
String containerId = container.recreateAndStartContainerFromDirectory(uniqueId);
@@ -216,7 +220,7 @@ public List<Container> getContainers() throws NotFoundException {
216220
.filter(container -> {
217221
String[] names = container.getNames();
218222
for (String name : names) {
219-
if (name.startsWith("/2weeksmc-server-")) {
223+
if (name.startsWith("/" + this.prefix + "-")) {
220224
return true;
221225
}
222226
}
@@ -239,7 +243,7 @@ public Map<String, String> getContainerNamesAndIds() throws NotFoundException {
239243
.filter(container -> {
240244
String[] names = container.getNames();
241245
for (String name : names) {
242-
if (name.startsWith("/2weeksmc-server-")) {
246+
if (name.startsWith("/" + prefix + "-")) {
243247
return true;
244248
}
245249
}
@@ -258,8 +262,8 @@ public void mapping() {
258262
this.serverContainers = new HashMap<>();
259263
this.containerPaths = new HashMap<>();
260264
this.getContainerNamesAndIds().forEach((containerName, containerId) -> {
261-
ServerContainer container = new ServerContainer(this.dockerClient, this.basePath, containerId,
262-
containerName.split("2weeksmc-server-")[1]);
265+
ServerContainer container = new ServerContainer(this.prefix, this.dockerClient, this.basePath, containerId,
266+
containerName.split(prefix + "-")[1]);
263267
container.start();
264268
this.serverContainers.put(containerName, container);
265269
this.containerPaths.put(containerName, Path.of(container.getServerPath()));

dsm-console/src/main/java/com/twoweeksmc/dsm/console/ConsoleColor.java renamed to dsm-console/src/main/java/de/eztxm/dsm/console/ConsoleColor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.twoweeksmc.dsm.console;
1+
package de.eztxm.dsm.console;
22

33
import java.util.regex.Matcher;
44
import java.util.regex.Pattern;

dsm-console/src/main/java/com/twoweeksmc/dsm/console/JLineConsole.java renamed to dsm-console/src/main/java/de/eztxm/dsm/console/JLineConsole.java

Lines changed: 26 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
1-
package com.twoweeksmc.dsm.console;
1+
package de.eztxm.dsm.console;
22

33
import java.io.IOException;
44
import java.net.InetAddress;
55
import java.net.UnknownHostException;
66
import java.nio.charset.StandardCharsets;
7+
import java.nio.file.Paths;
78
import java.util.Arrays;
89

910
import org.jline.reader.EndOfFileException;
@@ -15,8 +16,8 @@
1516
import org.jline.utils.AttributedString;
1617
import org.jline.utils.InfoCmp;
1718

18-
import com.twoweeksmc.dsm.common.server.ServerManager;
19-
import com.twoweeksmc.dsm.common.server.ServerState;
19+
import de.eztxm.dsm.common.server.manager.ServerManager;
20+
import de.eztxm.dsm.common.server.ServerState;
2021

2122
public final class JLineConsole {
2223
private final Terminal terminal;
@@ -30,14 +31,14 @@ public JLineConsole() throws IOException {
3031
this.terminal = TerminalBuilder.builder()
3132
.system(true)
3233
.jansi(true)
33-
.dumb(true)
3434
.encoding(StandardCharsets.UTF_8)
3535
.build();
3636
this.terminal.enterRawMode();
3737
this.reader = (LineReaderImpl) LineReaderBuilder.builder()
3838
.terminal(this.terminal)
3939
.option(LineReader.Option.DISABLE_EVENT_EXPANSION, true)
4040
.option(LineReader.Option.AUTO_PARAM_SLASH, false)
41+
.variable(LineReader.HISTORY_FILE, Paths.get(System.getProperty("user.home"), ".jline_history"))
4142
.build();
4243
AttributedString coloredPrefix = new AttributedString(this.userPrefix());
4344
this.reader.setPrompt(coloredPrefix.toAnsi());
@@ -60,43 +61,43 @@ public void start() {
6061
String[] args = Arrays.copyOfRange(inputParts, 1, inputParts.length);
6162
switch (command) {
6263
case "clear" -> this.clear();
63-
case "create-container" -> {
64+
case "create-container", "create-con" -> {
6465
if (args.length < 2) {
6566
this.print("[FF3333]Need platform and version argument");
6667
continue;
6768
}
6869
this.serverManager.createServerContainer(args[0].toLowerCase(), args[1].toLowerCase());
6970
}
70-
case "start-container" -> {
71+
case "start-container", "start-con" -> {
7172
if (args.length < 1) {
7273
this.print("[FF3333]Need container name");
7374
continue;
7475
}
7576
this.serverManager.startServerContainer(args[0]);
7677
}
77-
case "recreate-container" -> {
78+
case "recreate-container", "recreate-con" -> {
7879
if (args.length < 3) {
7980
this.print("[FF3333]Need uniqueId, platform and version argument");
8081
continue;
8182
}
8283
this.serverManager.recreateServerContainer(args[1].toLowerCase(), args[2].toLowerCase(),
8384
args[0]);
8485
}
85-
case "restart-container" -> {
86+
case "restart-container", "restart-con" -> {
8687
if (args.length < 1) {
8788
this.print("[FF3333]Need container name");
8889
continue;
8990
}
9091
this.serverManager.restartServerContainer(args[0]);
9192
}
92-
case "stop-container" -> {
93+
case "stop-container", "stop-con" -> {
9394
if (args.length < 1) {
9495
this.print("[FF3333]Need container name");
9596
continue;
9697
}
9798
this.serverManager.stopServerContainer(args[0]);
9899
}
99-
case "remove-container" -> {
100+
case "remove-container", "remove-con" -> {
100101
if (args.length < 1) {
101102
this.print("[FF3333]Need container name");
102103
continue;
@@ -106,7 +107,7 @@ public void start() {
106107
}
107108
this.serverManager.removeServerContainer(args[0]);
108109
}
109-
case "list-containers" -> {
110+
case "list-containers", "list-cons" -> {
110111
this.serverManager.getContainers()
111112
.forEach(container -> this.print("&e" + container.getNames()[0].replace("/", "") + " - "
112113
+ this.serverManager.getServerStateById(container.getId())));
@@ -117,17 +118,16 @@ public void start() {
117118
}
118119
case "help" -> {
119120
this.print("&7-------------------------------&eHelp&7-------------------------------");
120-
this.print(" &ecreate-container <platform> <version> &7- &f.");
121-
this.print(" &estart-container <name> &7- &f.");
122-
this.print(" &erecreate-container <uniqueId> <platform> <version> &7- &f.");
123-
this.print(" &erestart-container <name> &7- &f.");
124-
this.print(" &estart-container <name> &7- &f.");
125-
this.print(" &estop-container <name> &7- &f.");
126-
this.print(" &eremove-container <name> &7- &f.");
127-
this.print(" &elist-containers &7- &f.");
128-
this.print(" &eclear &7- &fClear the console.");
129-
this.print(" &eexit, shutdown, stop &7- &fShutdown the cloud.");
130-
this.print(" &ehelp &7- &fShow this help menu.");
121+
this.print("&b create-container <platform> <version> &7- &fCreate a container with the platform and version");
122+
this.print("&b recreate-container <uniqueId> <platform> <version> &7- &fRecreate a container with the uniqueId");
123+
this.print("&b restart-container <name> &7- &fRestart a container with the name");
124+
this.print("&b start-container <name> &7- &fStart a container with the name");
125+
this.print("&b stop-container <name> &7- &fStop a container with the name");
126+
this.print("&b remove-container <name> &7- &fRemove a container with the name");
127+
this.print("&b list-containers &7- &fList of the containers as name");
128+
this.print("&b clear &7- &fClear the console");
129+
this.print("&b exit, shutdown, stop &7- &fShutdown the cloud");
130+
this.print("&b help &7- &fShow this help menu");
131131
this.print("&7-------------------------------&eHelp&7-------------------------------");
132132
}
133133
default -> this.print("Unknown command: " + command);
@@ -142,31 +142,25 @@ public void start() {
142142
}
143143

144144
public String prefix() {
145-
String prefix = "[FB1364-F9A608]2weeksmc - dockermanager &7» &f";
145+
String prefix = "[33afff-33ffff]dockermanager &7» &f";
146146
return ConsoleColor.apply("\r" + prefix);
147147
}
148148

149149
public String userPrefix() {
150150
try {
151151
String hostname = InetAddress.getLocalHost().getHostName();
152-
String prefix = "[FB1364-F9A608]%hostname &7» &f".replace("%hostname", hostname);
152+
String prefix = "[33afff-33ffff]%hostname &7» &f".replace("%hostname", hostname);
153153
return ConsoleColor.apply("\r" + prefix);
154-
155154
} catch (UnknownHostException e) {
156155
return ConsoleColor
157-
.apply("\r" + "[FB1364-F9A608]2weeksmc&7@&e%hostname &7» &f".replace("%hostname", "unknown"));
156+
.apply("\r" + "[33afff-33ffff]&7@&e%hostname &7» &f".replace("%hostname", "unknown"));
158157
}
159158
}
160159

161160
public void sendWelcomeMessage() {
162161
System.out.print("\n");
163162
System.out.print("\n");
164-
System.out
165-
.println(ConsoleColor
166-
.apply(" [FB1364-F9A608]2weeksmc - dockermanager &7- &e1.0.0&7@&edevelopment"));
167-
System.out.println(ConsoleColor.apply(" &fby &eezTxmMC&7 & &eDragonRex"));
168-
System.out.print("\n");
169-
System.out.println(ConsoleColor.apply(" &fType &ehelp &fto list all commands."));
163+
System.out.println(ConsoleColor.apply(" &fType &bhelp &fto list all commands."));
170164
System.out.print("\n");
171165
System.out.print("\n");
172166
}

dsm-runner/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@
6060
<transformer
6161
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
6262
<mainClass>
63-
com.twoweeksmc.dsm.runner.DSMRunner</mainClass>
63+
de.eztxm.dsm.runner.DSMRunner</mainClass>
6464
</transformer>
6565
</transformers>
6666
<filters>

dsm-runner/src/main/java/com/twoweeksmc/dsm/runner/DSMRunner.java renamed to dsm-runner/src/main/java/de/eztxm/dsm/runner/DSMRunner.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
package com.twoweeksmc.dsm.runner;
1+
package de.eztxm.dsm.runner;
22

33
import java.io.IOException;
44

5-
import com.twoweeksmc.dsm.common.server.ServerManager;
6-
import com.twoweeksmc.dsm.console.JLineConsole;
5+
import de.eztxm.dsm.common.server.manager.ServerManager;
6+
import de.eztxm.dsm.console.JLineConsole;
77

88
public class DSMRunner {
99
private static DSMRunner instance;
@@ -18,7 +18,7 @@ public static void main(String[] args) throws IOException {
1818

1919
public DSMRunner() throws IOException {
2020
this.console = new JLineConsole();
21-
this.serverManager = new ServerManager(10000, "/home/eztxmmc/.dsm-containers");
21+
this.serverManager = new ServerManager("2weeksmc-server", 10000, "/home/eztxmmc/.dsm-containers");
2222
}
2323

2424
public void start() {

0 commit comments

Comments
 (0)