@Override public void run() { while (true) { if (MagiBridge.getConfig().CORE.ENABLE_UPDATER && MagiBridge.jda.getStatus() == JDA.Status.CONNECTED) { String topic = FormatType.TOPIC_FORMAT.get() .replace("%players%", Integer.valueOf(Sponge.getServer().getOnlinePlayers().size()).toString()) .replace("%maxplayers%", Integer.valueOf(Sponge.getServer().getMaxPlayers()).toString()) .replace("%tps%", Long.valueOf(Math.round(Sponge.getServer().getTicksPerSecond())).toString()) .replace("%daysonline%", Long.valueOf(ManagementFactory.getRuntimeMXBean().getUptime() / (24 * 60 * 60 * 1000)).toString()) .replace("%hoursonline%", Long.valueOf((ManagementFactory.getRuntimeMXBean().getUptime() / (60 * 60 * 1000)) % 24).toString()) .replace("%minutesonline%", Long.valueOf((ManagementFactory.getRuntimeMXBean().getUptime() / (60 * 1000)) % 60).toString()); try { if (MagiBridge.jda.getTextChannelById(MagiBridge.getConfig().CHANNELS.MAIN_CHANNEL) == null) { MagiBridge.getLogger().error("The main-discord-channel is INVALID, replace it with a valid one and restart the server!"); continue; } MagiBridge.jda.getTextChannelById(MagiBridge.getConfig().CHANNELS.MAIN_CHANNEL).getManager().setTopic(topic).queue(); } catch (NullPointerException e) { e.printStackTrace(); } } int interval = MagiBridge.getConfig().CORE.UPDATER_INTERVAL * 1000; try { Thread.sleep(interval < 10000 ? 10000 : interval); } catch (InterruptedException e) { MagiBridge.getLogger().error("The topic updater was interrupted!"); e.printStackTrace(); } } }
private Server mockServer() { Server server = Mockito.mock(Server.class); Text motd = Mockito.mock(Text.class); doReturn("Motd").when(motd).toPlain(); Optional<InetSocketAddress> ip = Optional.of(new InetSocketAddress(25565)); int maxPlayers = 20; List<Player> online = new ArrayList<>(); doReturn(motd).when(server).getMotd(); doReturn(ip).when(server).getBoundAddress(); doReturn(maxPlayers).when(server).getMaxPlayers(); doReturn(online).when(server).getOnlinePlayers(); return server; }
msg = "**Players online (" + Sponge.getServer().getOnlinePlayers().size() + "/" + Sponge.getServer().getMaxPlayers() + "):** " + "```" + players + "```";
public SpongeServerProperties(Game game) { super( game.getServer().getMotd().toPlain(), "Sponge", game.getServer().getBoundAddress().orElseGet(() -> new InetSocketAddress(25565)).getPort(), game.getPlatform().getMinecraftVersion().getName(), game.getPlatform().getMinecraftVersion().getName(), () -> game.getServer().getBoundAddress() .orElseGet(() -> new InetSocketAddress(25565)) .getAddress().getHostAddress(), game.getServer().getMaxPlayers(), () -> game.getServer().getOnlinePlayers().size() ); } }
private void appendServerInformation() { appendHeader("Server Information"); LogListBlock log = new LogListBlock(); Runtime runtime = Runtime.getRuntime(); log.put("Java", "%s %s (%s)", System.getProperty("java.vendor"), System.getProperty("java.version"), System.getProperty("java.vendor.url")); log.put("Operating system", "%s %s (%s)", System.getProperty("os.name"), System.getProperty("os.version"), System.getProperty("os.arch")); log.put("Available processors", runtime.availableProcessors()); log.put("Free memory", runtime.freeMemory() / 1024 / 1024 + " MB"); log.put("Max memory", runtime.maxMemory() / 1024 / 1024 + " MB"); log.put("Total memory", runtime.totalMemory() / 1024 / 1024 + " MB"); //log.put("Server ID", Sponge.getServer().getServerId()); //log.put("Server name", Sponge.getServerName()); log.put("Platform", Sponge.getPlatform().getType().name()); log.put("Game version", Sponge.getPlatform().getMinecraftVersion().getName()); log.put("Player count", "%d/%d", Sponge.getServer().getOnlinePlayers().size(), Sponge.getServer().getMaxPlayers()); append(log); appendln(); }
public ServerInfo() { Server server = Sponge.getServer(); Platform platform = Sponge.getPlatform(); this.motd = server.getMotd().toBuilder().build(); this.players = server.getOnlinePlayers().size(); this.maxPlayers = server.getMaxPlayers(); if (server.getBoundAddress().isPresent()) { InetSocketAddress addr = server.getBoundAddress().get(); this.address = addr.getHostName() + (addr.getPort() == 25565 ? "" : ":" + addr.getPort()); } this.onlineMode = server.getOnlineMode(); this.resourcePack = server.getDefaultResourcePack().map(ResourcePack::getName).orElse(null); this.hasWhitelist = server.hasWhitelist(); this.uptimeTicks = server.getRunningTimeTicks(); this.tps = server.getTicksPerSecond(); this.minecraftVersion = platform.getMinecraftVersion().getName(); this.game = new CachedPluginContainer(platform.getContainer(Platform.Component.GAME)); this.api = new CachedPluginContainer(platform.getContainer(Platform.Component.API)); this.implementation = new CachedPluginContainer(platform.getContainer(Platform.Component.IMPLEMENTATION)); } }