forked from MinecraftUtilities/Backend
don't throw an error on geo lookup error
This commit is contained in:
parent
a8558578f2
commit
ff79372ead
@ -58,7 +58,7 @@ public final class BedrockMinecraftServer extends MinecraftServer {
|
|||||||
Edition edition = Edition.valueOf(split[0]);
|
Edition edition = Edition.valueOf(split[0]);
|
||||||
Version version = new Version(Integer.parseInt(split[2]), split[3]);
|
Version version = new Version(Integer.parseInt(split[2]), split[3]);
|
||||||
Players players = new Players(Integer.parseInt(split[4]), Integer.parseInt(split[5]), null);
|
Players players = new Players(Integer.parseInt(split[4]), Integer.parseInt(split[5]), null);
|
||||||
MOTD motd = MOTD.create(split[1] + "\n" + split[7]);
|
MOTD motd = MOTD.create(hostname, Platform.BEDROCK, split[1] + "\n" + split[7]);
|
||||||
GameMode gameMode = new GameMode(split[8], split.length > 9 ? Integer.parseInt(split[9]) : -1);
|
GameMode gameMode = new GameMode(split[8], split.length > 9 ? Integer.parseInt(split[9]) : -1);
|
||||||
return new BedrockMinecraftServer(
|
return new BedrockMinecraftServer(
|
||||||
split[6],
|
split[6],
|
||||||
|
@ -97,7 +97,7 @@ public final class JavaMinecraftServer extends MinecraftServer {
|
|||||||
hostname,
|
hostname,
|
||||||
ip,
|
ip,
|
||||||
port,
|
port,
|
||||||
MinecraftServer.MOTD.create(motdString),
|
MinecraftServer.MOTD.create(hostname, Platform.JAVA, motdString),
|
||||||
token.getPlayers(),
|
token.getPlayers(),
|
||||||
location,
|
location,
|
||||||
records,
|
records,
|
||||||
|
@ -4,6 +4,7 @@ import com.maxmind.geoip2.model.CityResponse;
|
|||||||
import io.micrometer.common.lang.NonNull;
|
import io.micrometer.common.lang.NonNull;
|
||||||
import lombok.*;
|
import lombok.*;
|
||||||
import xyz.mcutils.backend.common.ColorUtils;
|
import xyz.mcutils.backend.common.ColorUtils;
|
||||||
|
import xyz.mcutils.backend.config.Config;
|
||||||
import xyz.mcutils.backend.model.dns.DNSRecord;
|
import xyz.mcutils.backend.model.dns.DNSRecord;
|
||||||
import xyz.mcutils.backend.service.pinger.MinecraftServerPinger;
|
import xyz.mcutils.backend.service.pinger.MinecraftServerPinger;
|
||||||
import xyz.mcutils.backend.service.pinger.impl.BedrockMinecraftServerPinger;
|
import xyz.mcutils.backend.service.pinger.impl.BedrockMinecraftServerPinger;
|
||||||
@ -100,6 +101,11 @@ public class MinecraftServer {
|
|||||||
*/
|
*/
|
||||||
private final String[] html;
|
private final String[] html;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The URL to the server preview image.
|
||||||
|
*/
|
||||||
|
private final String preview;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a new MOTD from a raw string.
|
* Create a new MOTD from a raw string.
|
||||||
*
|
*
|
||||||
@ -107,12 +113,14 @@ public class MinecraftServer {
|
|||||||
* @return the new motd
|
* @return the new motd
|
||||||
*/
|
*/
|
||||||
@NonNull
|
@NonNull
|
||||||
public static MOTD create(@NonNull String raw) {
|
public static MOTD create(@NonNull String hostname, @NonNull Platform platform, @NonNull String raw) {
|
||||||
String[] rawLines = raw.split("\n"); // The raw lines
|
String[] rawLines = raw.split("\n"); // The raw lines
|
||||||
return new MOTD(
|
return new MOTD(
|
||||||
rawLines,
|
rawLines,
|
||||||
Arrays.stream(rawLines).map(ColorUtils::stripColor).toArray(String[]::new),
|
Arrays.stream(rawLines).map(ColorUtils::stripColor).toArray(String[]::new),
|
||||||
Arrays.stream(rawLines).map(ColorUtils::toHTML).toArray(String[]::new)
|
Arrays.stream(rawLines).map(ColorUtils::toHTML).toArray(String[]::new),
|
||||||
|
Config.INSTANCE.getWebPublicUrl() + "/server/%s/preview/%s".formatted(
|
||||||
|
platform.name().toLowerCase(),hostname)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -68,7 +68,7 @@ public class MaxMindService {
|
|||||||
return database.city(InetAddress.getByName(ip));
|
return database.city(InetAddress.getByName(ip));
|
||||||
} catch (IOException | GeoIp2Exception e) {
|
} catch (IOException | GeoIp2Exception e) {
|
||||||
log.error("Failed to lookup the GeoIP information for '{}'", ip, e);
|
log.error("Failed to lookup the GeoIP information for '{}'", ip, e);
|
||||||
throw new RuntimeException("Failed to lookup the IP for '%s'".formatted(ip));
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user