Skip to content

Commit 4dd1172

Browse files
committed
Adapt PGMServer for SportPaper changes
Signed-off-by: BT (calcastor/mame) <[email protected]>
1 parent a530af3 commit 4dd1172

File tree

2 files changed

+11
-46
lines changed

2 files changed

+11
-46
lines changed

server/build.gradle.kts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,4 @@ dependencies {
66
implementation("app.ashcon:sportpaper:1.8.8-R0.1-SNAPSHOT")
77
implementation(project(":core"))
88
implementation(project(":util"))
9-
implementation("log4j:log4j:1.2.12")
109
}

server/src/main/java/tc/oc/pgm/server/PGMServer.java

Lines changed: 11 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
package tc.oc.pgm.server;
22

3+
import com.destroystokyo.paper.console.PaperConsole;
34
import com.google.common.collect.Lists;
45
import java.io.File;
56
import java.io.IOException;
6-
import java.io.PrintStream;
77
import java.net.InetAddress;
8-
import java.util.Iterator;
98
import java.util.logging.Handler;
109
import java.util.stream.Collectors;
1110
import java.util.stream.Stream;
@@ -16,20 +15,16 @@
1615
import net.minecraft.server.v1_8_R3.WorldLoaderServer;
1716
import net.minecraft.server.v1_8_R3.WorldSettings;
1817
import net.minecraft.server.v1_8_R3.WorldType;
19-
import org.apache.log4j.BasicConfigurator;
2018
import org.apache.logging.log4j.Level;
2119
import org.apache.logging.log4j.LogManager;
2220
import org.apache.logging.log4j.Logger;
23-
import org.apache.logging.log4j.core.appender.ConsoleAppender;
21+
import org.apache.logging.log4j.io.IoBuilder;
2422
import org.bukkit.craftbukkit.libs.joptsimple.OptionParser;
25-
import org.bukkit.craftbukkit.v1_8_R3.LoggerOutputStream;
2623
import org.bukkit.craftbukkit.v1_8_R3.util.ForwardLogHandler;
27-
import org.bukkit.craftbukkit.v1_8_R3.util.TerminalConsoleWriterThread;
2824
import org.bukkit.plugin.InvalidDescriptionException;
2925
import org.bukkit.plugin.Plugin;
3026
import org.bukkit.plugin.PluginDescriptionFile;
3127
import org.bukkit.plugin.PluginLoadOrder;
32-
import org.fusesource.jansi.AnsiConsole;
3328
import org.spigotmc.SpigotConfig;
3429
import tc.oc.pgm.util.reflect.ReflectionUtils;
3530

@@ -42,7 +37,6 @@
4237
public class PGMServer extends DedicatedServer implements Runnable {
4338

4439
public static void main(String[] args) throws InvalidDescriptionException {
45-
BasicConfigurator.configure();
4640
new PGMServer(new PluginDescriptionFile(
4741
Thread.currentThread().getContextClassLoader().getResourceAsStream("plugin.yml")))
4842
.run();
@@ -109,56 +103,27 @@ protected boolean init() throws IOException {
109103
}
110104

111105
protected Logger setupLogger() {
112-
AnsiConsole.systemInstall();
113-
114106
final java.util.logging.Logger global = java.util.logging.Logger.getLogger("");
115107
global.setUseParentHandlers(false);
116108

117-
final Handler[] handlers = global.getHandlers();
118-
for (int i = 0; i < handlers.length; ++i) {
119-
global.removeHandler(handlers[i]);
109+
for (Handler handler : global.getHandlers()) {
110+
global.removeHandler(handler);
120111
}
121112

122113
global.addHandler(new ForwardLogHandler());
123-
org.apache.logging.log4j.Logger logger = LogManager.getRootLogger();
124-
125-
if (logger instanceof org.apache.logging.log4j.core.Logger) {
126-
final Iterator<org.apache.logging.log4j.core.Appender> appenders =
127-
((org.apache.logging.log4j.core.Logger) logger)
128-
.getAppenders()
129-
.values()
130-
.iterator();
131-
while (appenders.hasNext()) {
132-
final org.apache.logging.log4j.core.Appender appender = appenders.next();
133-
if (appender instanceof ConsoleAppender) {
134-
((org.apache.logging.log4j.core.Logger) logger).removeAppender(appender);
135-
}
136-
}
137-
}
138-
139-
new Thread(new TerminalConsoleWriterThread(System.out, reader)).start();
140-
System.setOut(new PrintStream(new LoggerOutputStream(logger, Level.INFO), true));
141-
System.setErr(new PrintStream(new LoggerOutputStream(logger, Level.WARN), true));
114+
final Logger logger = LogManager.getRootLogger();
142115

143-
BasicConfigurator.resetConfiguration();
116+
System.setOut(IoBuilder.forLogger(logger).setLevel(Level.INFO).buildPrintStream());
117+
System.setErr(IoBuilder.forLogger(logger).setLevel(Level.WARN).buildPrintStream());
144118

145-
var actualLogger = ReflectionUtils.readStaticField(
146-
DedicatedServer.class, org.apache.logging.log4j.Logger.class, "LOGGER");
119+
var actualLogger =
120+
ReflectionUtils.readStaticField(DedicatedServer.class, Logger.class, "LOGGER");
147121
return actualLogger != null ? actualLogger : logger;
148122
}
149123

150124
protected void setupConsole() {
151125
final Thread console = new Thread(() -> {
152-
try {
153-
while (!isStopped() && isRunning()) {
154-
final String command = reader.readLine(">", null);
155-
if (command != null && !command.trim().isEmpty()) {
156-
issueCommand(command, this);
157-
}
158-
}
159-
} catch (IOException io) {
160-
safeShutdown();
161-
}
126+
new PaperConsole(PGMServer.this).start();
162127
});
163128
console.setDaemon(true);
164129
console.start();
@@ -208,6 +173,7 @@ protected void setupPlugins() {
208173
if (rewind != null) {
209174
loader.togglePlugin(rewind, true);
210175
}
176+
211177
final Plugin backwards = server.getPluginManager().getPlugin("ViaBackwards");
212178
if (backwards != null) {
213179
loader.togglePlugin(backwards, true);

0 commit comments

Comments
 (0)