[New] Added Health info stuff to locale

Affected issues: #734
This commit is contained in:
Rsl1122 2018-10-23 14:43:10 +03:00
parent cff7fffe92
commit 314e0a2ca7
19 changed files with 360 additions and 69 deletions

View File

@ -10,6 +10,7 @@ import com.djrapitops.plan.data.store.mutators.health.HealthInformation;
import com.djrapitops.plan.data.time.WorldTimes;
import com.djrapitops.plan.system.database.DBSystem;
import com.djrapitops.plan.system.info.server.properties.ServerProperties;
import com.djrapitops.plan.system.locale.Locale;
import com.djrapitops.plan.system.settings.Settings;
import com.djrapitops.plan.system.settings.config.PlanConfig;
import com.djrapitops.plan.system.settings.theme.Theme;
@ -46,6 +47,7 @@ public class AnalysisContainer extends DataContainer {
private final ServerContainer serverContainer;
private final String version;
private final Locale locale;
private final PlanConfig config;
private final Theme theme;
private final DBSystem dbSystem;
@ -61,6 +63,7 @@ public class AnalysisContainer extends DataContainer {
public AnalysisContainer(
ServerContainer serverContainer,
String version,
Locale locale,
PlanConfig config,
Theme theme,
DBSystem dbSystem,
@ -73,6 +76,7 @@ public class AnalysisContainer extends DataContainer {
) {
this.serverContainer = serverContainer;
this.version = version;
this.locale = locale;
this.config = config;
this.theme = theme;
this.dbSystem = dbSystem;
@ -447,6 +451,7 @@ public class AnalysisContainer extends DataContainer {
Key<HealthInformation> healthInformation = new Key<>(HealthInformation.class, "HEALTH_INFORMATION");
putCachingSupplier(healthInformation, () -> new HealthInformation(
this,
locale,
config.getNumber(Settings.THEME_GRAPH_TPS_THRESHOLD_MED),
config.getNumber(Settings.ACTIVE_PLAY_THRESHOLD),
config.getNumber(Settings.ACTIVE_LOGIN_THRESHOLD),
@ -471,6 +476,7 @@ public class AnalysisContainer extends DataContainer {
private final String version;
private final PlanConfig config;
private final Locale locale;
private final Theme theme;
private final DBSystem dbSystem;
private final ServerProperties serverProperties;
@ -484,6 +490,7 @@ public class AnalysisContainer extends DataContainer {
public Factory(
@Named("currentVersion") String version,
PlanConfig config,
Locale locale,
Theme theme,
DBSystem dbSystem,
ServerProperties serverProperties,
@ -495,6 +502,7 @@ public class AnalysisContainer extends DataContainer {
) {
this.version = version;
this.config = config;
this.locale = locale;
this.theme = theme;
this.dbSystem = dbSystem;
this.serverProperties = serverProperties;
@ -509,6 +517,7 @@ public class AnalysisContainer extends DataContainer {
return new AnalysisContainer(
serverContainer,
version,
locale,
config,
theme,
dbSystem,

View File

@ -9,6 +9,7 @@ import com.djrapitops.plan.data.store.mutators.TPSMutator;
import com.djrapitops.plan.data.store.mutators.health.NetworkHealthInformation;
import com.djrapitops.plan.system.database.DBSystem;
import com.djrapitops.plan.system.info.server.properties.ServerProperties;
import com.djrapitops.plan.system.locale.Locale;
import com.djrapitops.plan.system.settings.Settings;
import com.djrapitops.plan.system.settings.config.PlanConfig;
import com.djrapitops.plan.system.settings.theme.Theme;
@ -44,6 +45,7 @@ public class NetworkContainer extends DataContainer {
private final String version;
private final PlanConfig config;
private final Locale locale;
private final Theme theme;
private final DBSystem dbSystem;
private final ServerProperties serverProperties;
@ -54,6 +56,7 @@ public class NetworkContainer extends DataContainer {
ServerContainer bungeeContainer,
String version,
PlanConfig config,
Locale locale,
Theme theme,
DBSystem dbSystem,
ServerProperties serverProperties,
@ -63,6 +66,7 @@ public class NetworkContainer extends DataContainer {
this.bungeeContainer = bungeeContainer;
this.version = version;
this.config = config;
this.locale = locale;
this.theme = theme;
this.dbSystem = dbSystem;
this.serverProperties = serverProperties;
@ -101,6 +105,7 @@ public class NetworkContainer extends DataContainer {
Key<NetworkHealthInformation> healthInformation = new Key<>(NetworkHealthInformation.class, "HEALTH_INFORMATION");
putCachingSupplier(healthInformation, () -> new NetworkHealthInformation(
this,
locale,
config.getNumber(Settings.ACTIVE_PLAY_THRESHOLD),
config.getNumber(Settings.ACTIVE_LOGIN_THRESHOLD),
formatters.timeAmount(), formatters.decimals(), formatters.percentage()
@ -212,6 +217,7 @@ public class NetworkContainer extends DataContainer {
private final Lazy<String> version;
private final Lazy<PlanConfig> config;
private final Lazy<Locale> locale;
private final Lazy<Theme> theme;
private final Lazy<DBSystem> dbSystem;
private final Lazy<ServerProperties> serverProperties;
@ -222,6 +228,7 @@ public class NetworkContainer extends DataContainer {
public Factory(
@Named("currentVersion") Lazy<String> version,
Lazy<PlanConfig> config,
Lazy<Locale> locale,
Lazy<Theme> theme,
Lazy<DBSystem> dbSystem,
Lazy<ServerProperties> serverProperties,
@ -230,6 +237,7 @@ public class NetworkContainer extends DataContainer {
) {
this.version = version;
this.config = config;
this.locale = locale;
this.theme = theme;
this.dbSystem = dbSystem;
this.serverProperties = serverProperties;
@ -242,6 +250,7 @@ public class NetworkContainer extends DataContainer {
bungeeContainer,
version.get(),
config.get(),
locale.get(),
theme.get(),
dbSystem.get(),
serverProperties.get(),

View File

@ -3,6 +3,8 @@ package com.djrapitops.plan.data.store.mutators.health;
import com.djrapitops.plan.data.store.containers.PlayerContainer;
import com.djrapitops.plan.data.store.mutators.PlayersMutator;
import com.djrapitops.plan.data.store.mutators.SessionsMutator;
import com.djrapitops.plan.system.locale.Locale;
import com.djrapitops.plan.system.locale.lang.HealthInfoLang;
import com.djrapitops.plan.utilities.formatting.Formatter;
import com.djrapitops.plan.utilities.html.icon.Icons;
@ -19,6 +21,7 @@ public abstract class AbstractHealthInfo {
protected double serverHealth;
protected final Locale locale;
protected final int activeMinuteThreshold;
protected final int activeLoginThreshold;
protected final Formatter<Long> timeAmountFormatter;
@ -27,7 +30,7 @@ public abstract class AbstractHealthInfo {
public AbstractHealthInfo(
long now, long monthAgo,
int activeMinuteThreshold,
Locale locale, int activeMinuteThreshold,
int activeLoginThreshold,
Formatter<Long> timeAmountFormatter,
Formatter<Double> decimalFormatter,
@ -35,6 +38,7 @@ public abstract class AbstractHealthInfo {
) {
this.now = now;
this.monthAgo = monthAgo;
this.locale = locale;
this.activeMinuteThreshold = activeMinuteThreshold;
this.activeLoginThreshold = activeLoginThreshold;
this.timeAmountFormatter = timeAmountFormatter;
@ -80,36 +84,40 @@ public abstract class AbstractHealthInfo {
regularRemainCompareSet.removeAll(veryActiveNow);
int notRegularAnymore = regularRemainCompareSet.size();
int remain = activeFWAGNum - notRegularAnymore;
double percRemain = activeFWAGNum != 0 ? remain / activeFWAGNum : 1.0;
double percRemain = activeFWAGNum != 0 ? remain * 1.0 / activeFWAGNum : 1.0;
int newActive = getNewActive(veryActiveNow, activeNow, regularNow, veryActiveFWAG, activeFWAG, regularFWAG);
int change = newActive - notRegularAnymore;
String remainNote = "";
StringBuilder remainNote = new StringBuilder();
if (activeFWAGNum != 0) {
remainNote = "<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
remainNote.append(subNote);
if (percRemain > 0.5) {
remainNote += Icons.GREEN_THUMB;
remainNote.append(Icons.GREEN_THUMB);
} else if (percRemain > 0.2) {
remainNote += Icons.YELLOW_FLAG;
remainNote.append(Icons.YELLOW_FLAG);
} else {
remainNote += Icons.RED_WARN;
remainNote.append(Icons.RED_WARN);
serverHealth -= 2.5;
}
remainNote += " " + percentageFormatter.apply(percRemain) + " of regular players have remained active ("
+ remain + "/" + activeFWAGNum + ")";
remainNote.append(locale.getString(HealthInfoLang.REGULAR_ACTIVITY_REMAIN,
percentageFormatter.apply(percRemain),
remain, activeFWAGNum
));
}
String sentenceStart = locale.getString(HealthInfoLang.REGULAR_CHANGE);
if (change > 0) {
addNote(Icons.GREEN_THUMB + " Number of regular players has increased (+" + change + ")" + remainNote);
addNote(Icons.GREEN_THUMB + sentenceStart + locale.getString(HealthInfoLang.REGULAR_CHANGE_INCREASE, change) + remainNote);
} else if (change == 0) {
addNote(Icons.GREEN_THUMB + " Number of regular players has stayed the same (+" + change + ")" + remainNote);
addNote(Icons.GREEN_THUMB + sentenceStart + locale.getString(HealthInfoLang.REGULAR_CHANGE_ZERO, change) + remainNote);
} else if (change > -20) {
addNote(Icons.YELLOW_FLAG + " Number of regular players has decreased (" + change + ")" + remainNote);
addNote(Icons.YELLOW_FLAG + sentenceStart + locale.getString(HealthInfoLang.REGULAR_CHANGE_DECREASE, change) + remainNote);
serverHealth -= 5;
} else {
addNote(Icons.RED_WARN + " Number of regular players has decreased (" + change + ")" + remainNote);
addNote(Icons.RED_WARN + sentenceStart + locale.getString(HealthInfoLang.REGULAR_CHANGE_DECREASE, change) + remainNote);
serverHealth -= 10;
}
}
@ -133,18 +141,15 @@ public abstract class AbstractHealthInfo {
String avgLastTwoWeeksString = timeAmountFormatter.apply(avgLastTwoWeeks);
String avgFourToTwoWeeksString = timeAmountFormatter.apply(avgFourToTwoWeeks);
if (avgFourToTwoWeeks >= avgLastTwoWeeks) {
addNote(Icons.GREEN_THUMB + " Active players seem to have things to do (Played "
+ avgLastTwoWeeksString + " vs " + avgFourToTwoWeeksString
+ ", last two weeks vs weeks 2-4)");
addNote(Icons.GREEN_THUMB + locale.getString(HealthInfoLang.ACTIVE_PLAY_COMPARISON_INCREASE,
avgLastTwoWeeksString, avgFourToTwoWeeksString));
} else if (avgFourToTwoWeeks - avgLastTwoWeeks > TimeUnit.HOURS.toMillis(2L)) {
addNote(Icons.RED_WARN + " Active players might be running out of things to do (Played "
+ avgLastTwoWeeksString + " vs " + avgFourToTwoWeeksString
+ ", last two weeks vs weeks 2-4)");
addNote(Icons.RED_WARN + locale.getString(HealthInfoLang.ACTIVE_PLAY_COMPARISON_DECREASE,
avgLastTwoWeeksString, avgFourToTwoWeeksString));
serverHealth -= 5;
} else {
addNote(Icons.YELLOW_FLAG + " Active players might be running out of things to do (Played "
+ avgLastTwoWeeksString + " vs " + avgFourToTwoWeeksString
+ ", last two weeks vs weeks 2-4)");
addNote(Icons.YELLOW_FLAG + locale.getString(HealthInfoLang.ACTIVE_PLAY_COMPARISON_DECREASE,
avgLastTwoWeeksString, avgFourToTwoWeeksString));
}
}
}

View File

@ -10,6 +10,8 @@ import com.djrapitops.plan.data.store.keys.AnalysisKeys;
import com.djrapitops.plan.data.store.mutators.PlayersMutator;
import com.djrapitops.plan.data.store.mutators.PlayersOnlineResolver;
import com.djrapitops.plan.data.store.mutators.TPSMutator;
import com.djrapitops.plan.system.locale.Locale;
import com.djrapitops.plan.system.locale.lang.HealthInfoLang;
import com.djrapitops.plan.utilities.formatting.Formatter;
import com.djrapitops.plan.utilities.html.icon.Icons;
import com.djrapitops.plugin.api.TimeAmount;
@ -31,7 +33,9 @@ public class HealthInformation extends AbstractHealthInfo {
public HealthInformation(
AnalysisContainer analysisContainer,
int lowTPSThreshold, int activeMinuteThreshold,
Locale locale,
int lowTPSThreshold,
int activeMinuteThreshold,
int activeLoginThreshold,
Formatter<Long> timeAmountFormatter,
Formatter<Double> decimalFormatter,
@ -40,7 +44,9 @@ public class HealthInformation extends AbstractHealthInfo {
super(
analysisContainer.getUnsafe(AnalysisKeys.ANALYSIS_TIME),
analysisContainer.getUnsafe(AnalysisKeys.ANALYSIS_TIME_MONTH_AGO),
activeMinuteThreshold, activeLoginThreshold, timeAmountFormatter, decimalFormatter, percentageFormatter
locale,
activeMinuteThreshold, activeLoginThreshold,
timeAmountFormatter, decimalFormatter, percentageFormatter
);
this.analysisContainer = analysisContainer;
this.lowTPSThreshold = lowTPSThreshold;
@ -75,11 +81,11 @@ public class HealthInformation extends AbstractHealthInfo {
.mapToInt(Optional::get)
.average().orElse(0);
if (avgOnlineOnRegister >= 1) {
addNote(Icons.GREEN_THUMB + " New Players have players to play with when they join ("
+ decimalFormatter.apply(avgOnlineOnRegister) + " on average)");
addNote(Icons.GREEN_THUMB + locale.getString(HealthInfoLang.NEW_PLAYER_JOIN_PLAYERS_GOOD,
decimalFormatter.apply(avgOnlineOnRegister)));
} else {
addNote(Icons.YELLOW_FLAG + " New Players may not have players to play with when they join ("
+ decimalFormatter.apply(avgOnlineOnRegister) + " on average)");
addNote(Icons.YELLOW_FLAG + locale.getString(HealthInfoLang.NEW_PLAYER_JOIN_PLAYERS_BAD,
decimalFormatter.apply(avgOnlineOnRegister)));
serverHealth -= 5;
}
@ -88,12 +94,12 @@ public class HealthInformation extends AbstractHealthInfo {
if (playersNewMonth != 0) {
double retainPercentage = playersRetainedMonth * 1.0 / playersNewMonth;
String stickinessSentence = locale.getString(HealthInfoLang.NEW_PLAYER_STICKINESS,
percentageFormatter.apply(retainPercentage), playersRetainedMonth, playersNewMonth);
if (retainPercentage >= 0.25) {
addNote(Icons.GREEN_THUMB + " " + percentageFormatter.apply(retainPercentage)
+ " of new players have stuck around (" + playersRetainedMonth + "/" + playersNewMonth + ")");
addNote(Icons.GREEN_THUMB + stickinessSentence);
} else {
addNote(Icons.YELLOW_FLAG + " " + percentageFormatter.apply(retainPercentage)
+ " of new players have stuck around (" + playersRetainedMonth + "/" + playersNewMonth + ")");
addNote(Icons.YELLOW_FLAG + stickinessSentence);
}
}
}
@ -106,44 +112,39 @@ public class HealthInformation extends AbstractHealthInfo {
double aboveThreshold = tpsMutator.percentageTPSAboveThreshold(lowTPSThreshold);
long tpsSpikeMonth = analysisContainer.getValue(AnalysisKeys.TPS_SPIKE_MONTH).orElse(0);
String avgLowThresholdString = "<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
StringBuilder avgLowThresholdString = new StringBuilder(subNote);
if (aboveThreshold >= 0.96) {
avgLowThresholdString += Icons.GREEN_THUMB;
avgLowThresholdString.append(Icons.GREEN_THUMB);
} else if (aboveThreshold >= 0.9) {
avgLowThresholdString += Icons.YELLOW_FLAG;
avgLowThresholdString.append(Icons.YELLOW_FLAG);
serverHealth *= 0.9;
} else {
avgLowThresholdString += Icons.RED_WARN;
avgLowThresholdString.append(Icons.RED_WARN);
serverHealth *= 0.6;
}
avgLowThresholdString += " Average TPS was above Low Threshold "
+ decimalFormatter.apply(aboveThreshold * 100.0) + "% of the time";
avgLowThresholdString.append(locale.getString(HealthInfoLang.TPS_ABOVE_LOW_THERSHOLD, percentageFormatter.apply(aboveThreshold)));
String tpsDipSentence = locale.getString(HealthInfoLang.TPS_LOW_DIPS, lowTPSThreshold, tpsSpikeMonth);
if (tpsSpikeMonth <= 5) {
addNote(Icons.GREEN_THUMB + " Average TPS dropped below Low Threshold (" + lowTPSThreshold + ")" +
" " + tpsSpikeMonth + " times" +
avgLowThresholdString);
addNote(Icons.GREEN_THUMB + tpsDipSentence + avgLowThresholdString);
} else if (tpsSpikeMonth <= 25) {
addNote(Icons.YELLOW_FLAG + " Average TPS dropped below Low Threshold (" + lowTPSThreshold + ")" +
" " + tpsSpikeMonth + " times" +
avgLowThresholdString);
addNote(Icons.YELLOW_FLAG + tpsDipSentence + avgLowThresholdString);
serverHealth *= 0.95;
} else {
addNote(Icons.RED_WARN + " Average TPS dropped below Low Threshold (" + lowTPSThreshold + ")" +
" " + tpsSpikeMonth + " times" +
avgLowThresholdString);
addNote(Icons.RED_WARN + tpsDipSentence + avgLowThresholdString);
serverHealth *= 0.8;
}
String downtimeSentence = locale.getString(HealthInfoLang.DOWNTIME, timeAmountFormatter.apply(serverDownTime));
if (serverDownTime <= TimeUnit.DAYS.toMillis(1L)) {
addNote(Icons.GREEN_THUMB + " Total Server downtime (No Data) was " + timeAmountFormatter.apply(serverDownTime));
addNote(Icons.GREEN_THUMB + downtimeSentence);
} else {
long weekMs = TimeAmount.WEEK.toMillis(1L);
if (serverDownTime <= weekMs) {
addNote(Icons.YELLOW_FLAG + " Total Server downtime (No Data) was " + timeAmountFormatter.apply(serverDownTime));
addNote(Icons.YELLOW_FLAG + downtimeSentence);
serverHealth *= (weekMs - serverDownTime) * 1.0 / weekMs;
} else {
addNote(Icons.RED_WARN + " Total Server downtime (No Data) was " + timeAmountFormatter.apply(serverDownTime));
addNote(Icons.RED_WARN + downtimeSentence);
long monthMs = TimeAmount.MONTH.toMillis(1L);
serverHealth *= (monthMs - serverDownTime) * 1.0 / monthMs;
}

View File

@ -8,6 +8,8 @@ import com.djrapitops.plan.data.store.keys.NetworkKeys;
import com.djrapitops.plan.data.store.mutators.PlayersMutator;
import com.djrapitops.plan.data.store.mutators.SessionsMutator;
import com.djrapitops.plan.system.info.server.Server;
import com.djrapitops.plan.system.locale.Locale;
import com.djrapitops.plan.system.locale.lang.HealthInfoLang;
import com.djrapitops.plan.utilities.formatting.Formatter;
import com.djrapitops.plan.utilities.html.icon.Icon;
import com.djrapitops.plan.utilities.html.icon.Icons;
@ -20,6 +22,7 @@ public class NetworkHealthInformation extends AbstractHealthInfo {
public NetworkHealthInformation(
NetworkContainer container,
Locale locale,
int activeMinuteThreshold,
int activeLoginThreshold,
Formatter<Long> timeAmountFormatter,
@ -29,7 +32,9 @@ public class NetworkHealthInformation extends AbstractHealthInfo {
super(
container.getUnsafe(NetworkKeys.REFRESH_TIME),
container.getUnsafe(NetworkKeys.REFRESH_TIME_MONTH_AGO),
activeMinuteThreshold, activeLoginThreshold, timeAmountFormatter, decimalFormatter, percentageFormatter
locale,
activeMinuteThreshold, activeLoginThreshold,
timeAmountFormatter, decimalFormatter, percentageFormatter
);
this.container = container;
calculate();
@ -48,12 +53,12 @@ public class NetworkHealthInformation extends AbstractHealthInfo {
.orElse(Collections.emptyList());
if (servers.isEmpty()) {
addNote(Icons.HELP_RING + " No Bukkit/Sponge servers to gather session data - These measures are inaccurate.");
addNote(Icons.HELP_RING + locale.getString(HealthInfoLang.NO_SERVERS_INACCURACY));
return;
}
int serverCount = servers.size();
if (serverCount == 1) {
addNote(Icons.HELP_RING + " Single Bukkit/Sponge server to gather session data.");
addNote(Icons.HELP_RING + locale.getString(HealthInfoLang.SINGLE_SERVER_INACCURACY));
return;
}
@ -68,7 +73,7 @@ public class NetworkHealthInformation extends AbstractHealthInfo {
private void uniquePlayersNote(int serverCount, Key<Server> serverKey, List<DataContainer> perServerContainers) {
Icon icon;
String uniquePlayersNote = " players visit on servers per day/server on average.";
String uniquePlayersNote = locale.getString(HealthInfoLang.PLAYER_VISIT_PER_SERVER);
double average = perServerContainers.stream()
.mapToInt(c -> c.getUnsafe(AnalysisKeys.AVG_PLAYERS_MONTH))
.average().orElse(0.0);
@ -95,7 +100,7 @@ public class NetworkHealthInformation extends AbstractHealthInfo {
private void newPlayersNote(int serverCount, Key<Server> serverKey, List<DataContainer> perServerContainers) {
Icon icon;
String newPlayersNote = " players register on servers per day/server on average.";
String newPlayersNote = locale.getString(HealthInfoLang.PLAYER_REGISTER_PER_SERVER);
double average = perServerContainers.stream()
.mapToInt(c -> c.getUnsafe(AnalysisKeys.AVG_PLAYERS_NEW_MONTH))
.average().orElse(0.0);
@ -147,7 +152,7 @@ public class NetworkHealthInformation extends AbstractHealthInfo {
private void playersNote(Key<Server> serverKey, List<DataContainer> perServerContainers) {
Icon icon = Icons.HELP_RING;
String uniquePlayersNote = "${playersMonth} players played on the network:";
String uniquePlayersNote = "${playersMonth}" + locale.getString(HealthInfoLang.PLAYER_PLAY_ON_NETWORK);
StringBuilder subNotes = new StringBuilder();
perServerContainers.stream()
.sorted(Comparator.comparingInt(c -> 0 - c.getUnsafe(AnalysisKeys.PLAYERS_MONTH)))

View File

@ -66,7 +66,8 @@ public class LocaleSystem implements SubSystem {
ServerPageLang.values(),
NetworkPageLang.values(),
ErrorPageLang.values(),
FailReason.values()
FailReason.values(),
HealthInfoLang.values()
};
return Arrays.stream(lang)

View File

@ -0,0 +1,45 @@
package com.djrapitops.plan.system.locale.lang;
/**
* {@link Lang} enum for {@link com.djrapitops.plan.data.store.mutators.health.AbstractHealthInfo} related language.
*
* @author Rsl1122
*/
public enum HealthInfoLang implements Lang {
REGULAR_ACTIVITY_REMAIN("Regular Activity Remain", " ${0} of regular players have remained active (${1}/${2})"),
REGULAR_CHANGE("Regular Activity Change", " Number of regular players has "),
REGULAR_CHANGE_INCREASE("Regular Activity Change Increase", "increased (+${0})"),
REGULAR_CHANGE_ZERO("Regular Activity Change Zero", "stayed the same (+${0})"),
REGULAR_CHANGE_DECREASE("Regular Activity Change Decrease", "decreased (${0})"),
ACTIVE_PLAY_COMPARISON_INCREASE("Active Playtime Comparison Increase", " Active players seem to have things to do (Played ${0} vs ${1}, last two weeks vs weeks 2-4)"),
ACTIVE_PLAY_COMPARISON_DECREASE("Active Playtime Comparison Decrease", " Active players might be running out of things to do (Played ${0} vs ${1}, last two weeks vs weeks 2-4)"),
NEW_PLAYER_JOIN_PLAYERS_GOOD("New Player Join Players, Yes", " New Players have players to play with when they join (${0} on average)"),
NEW_PLAYER_JOIN_PLAYERS_BAD("New Player Join Players, No", " New Players may not have players to play with when they join (${0} on average)"),
NEW_PLAYER_STICKINESS("New Player Stickiness", " ${0} of new players have stuck around (${1}/${2})"),
TPS_ABOVE_LOW_THERSHOLD("TPS Above Low Threshold", " Average TPS was above Low Threshold ${0} of the time"),
TPS_LOW_DIPS("TPS Low Dips", " Average TPS dropped below Low Threshold (${0}) ${1} times"),
DOWNTIME("Downtime", "Total Server downtime (No Data) was ${0}"),
NO_SERVERS_INACCURACY("No Servers Inaccuracy", " No Bukkit/Sponge servers to gather session data - These measures are inaccurate."),
SINGLE_SERVER_INACCURACY("Single Servers Inaccuracy", " Single Bukkit/Sponge server to gather session data."),
PLAYER_VISIT_PER_SERVER("Player Visit Server", " players visit on servers per day/server on average."),
PLAYER_REGISTER_PER_SERVER("Player Register Server", " players register on servers per day/server on average."),
PLAYER_PLAY_ON_NETWORK("Player Play on Network", " players played on the network:");
private final String identifier;
private final String defaultValue;
HealthInfoLang(String identifier, String defaultValue) {
this.identifier = identifier;
this.defaultValue = defaultValue;
}
@Override
public String getIdentifier() {
return "Health - " + identifier;
}
@Override
public String getDefault() {
return defaultValue;
}
}

View File

@ -314,4 +314,22 @@ WebServer FAIL - Port Bind || 未成功初始化网页服
WebServer FAIL - SSL Context || 网页服务器SSL 环境初始化失败。
WebServer FAIL - Store Load || 网页服务器SSL 证书载入失败。
Yesterday || 'Yesterday'
Today || 'Today'
Today || 'Today'
Health - Active Playtime Comparison Decrease || Active players might be running out of things to do (Played ${0} vs ${1}, last two weeks vs weeks 2-4)
Health - Active Playtime Comparison Increase || Active players seem to have things to do (Played ${0} vs ${1}, last two weeks vs weeks 2-4)
Health - Downtime || Total Server downtime (No Data) was ${0}
Health - New Player Join Players, No || New Players may not have players to play with when they join (${0} on average)
Health - New Player Join Players, Yes || New Players have players to play with when they join (${0} on average)
Health - New Player Stickiness || ${0} of new players have stuck around (${1}/${2})
Health - No Servers Inaccuracy || No Bukkit/Sponge servers to gather session data - These measures are inaccurate.
Health - Player Play on Network || players played on the network:
Health - Player Register Server || players register on servers per day/server on average.
Health - Player Visit Server || players visit on servers per day/server on average.
Health - Regular Activity Change || Number of regular players has
Health - Regular Activity Change Decrease || decreased (${0})
Health - Regular Activity Change Increase || increased (+${0})
Health - Regular Activity Change Zero || stayed the same (+${0})
Health - Regular Activity Remain || ${0} of regular players have remained active (${1}/${2})
Health - Single Servers Inaccuracy || Single Bukkit/Sponge server to gather session data.
Health - TPS Above Low Threshold || Average TPS was above Low Threshold ${0} of the time
Health - TPS Low Dips || Average TPS dropped below Low Threshold (${0}) ${1} times

View File

@ -313,4 +313,22 @@ WebServer FAIL - Port Bind || WebServer was not initialized
WebServer FAIL - SSL Context || WebServer: SSL Context Initialization Failed.
WebServer FAIL - Store Load || WebServer: SSL Certificate loading Failed.
Yesterday || 'Yesterday'
Today || 'Today'
Today || 'Today'
Health - Active Playtime Comparison Decrease || Active players might be running out of things to do (Played ${0} vs ${1}, last two weeks vs weeks 2-4)
Health - Active Playtime Comparison Increase || Active players seem to have things to do (Played ${0} vs ${1}, last two weeks vs weeks 2-4)
Health - Downtime || Total Server downtime (No Data) was ${0}
Health - New Player Join Players, No || New Players may not have players to play with when they join (${0} on average)
Health - New Player Join Players, Yes || New Players have players to play with when they join (${0} on average)
Health - New Player Stickiness || ${0} of new players have stuck around (${1}/${2})
Health - No Servers Inaccuracy || No Bukkit/Sponge servers to gather session data - These measures are inaccurate.
Health - Player Play on Network || players played on the network:
Health - Player Register Server || players register on servers per day/server on average.
Health - Player Visit Server || players visit on servers per day/server on average.
Health - Regular Activity Change || Number of regular players has
Health - Regular Activity Change Decrease || decreased (${0})
Health - Regular Activity Change Increase || increased (+${0})
Health - Regular Activity Change Zero || stayed the same (+${0})
Health - Regular Activity Remain || ${0} of regular players have remained active (${1}/${2})
Health - Single Servers Inaccuracy || Single Bukkit/Sponge server to gather session data.
Health - TPS Above Low Threshold || Average TPS was above Low Threshold ${0} of the time
Health - TPS Low Dips || Average TPS dropped below Low Threshold (${0}) ${1} times

View File

@ -313,4 +313,22 @@ WebServer FAIL - Port Bind || WebServer wurde nicht erfolgr
WebServer FAIL - SSL Context || WebServer: SSL Context Initialisierung fehlgeschlagen.
WebServer FAIL - Store Load || WebServer: SSL Zertifikat konnte nicht geladen werden.
Yesterday || 'Yesterday'
Today || 'Today'
Today || 'Today'
Health - Active Playtime Comparison Decrease || Active players might be running out of things to do (Played ${0} vs ${1}, last two weeks vs weeks 2-4)
Health - Active Playtime Comparison Increase || Active players seem to have things to do (Played ${0} vs ${1}, last two weeks vs weeks 2-4)
Health - Downtime || Total Server downtime (No Data) was ${0}
Health - New Player Join Players, No || New Players may not have players to play with when they join (${0} on average)
Health - New Player Join Players, Yes || New Players have players to play with when they join (${0} on average)
Health - New Player Stickiness || ${0} of new players have stuck around (${1}/${2})
Health - No Servers Inaccuracy || No Bukkit/Sponge servers to gather session data - These measures are inaccurate.
Health - Player Play on Network || players played on the network:
Health - Player Register Server || players register on servers per day/server on average.
Health - Player Visit Server || players visit on servers per day/server on average.
Health - Regular Activity Change || Number of regular players has
Health - Regular Activity Change Decrease || decreased (${0})
Health - Regular Activity Change Increase || increased (+${0})
Health - Regular Activity Change Zero || stayed the same (+${0})
Health - Regular Activity Remain || ${0} of regular players have remained active (${1}/${2})
Health - Single Servers Inaccuracy || Single Bukkit/Sponge server to gather session data.
Health - TPS Above Low Threshold || Average TPS was above Low Threshold ${0} of the time
Health - TPS Low Dips || Average TPS dropped below Low Threshold (${0}) ${1} times

View File

@ -313,4 +313,22 @@ WebServer FAIL - Port Bind || WebServer was not initialized
WebServer FAIL - SSL Context || WebServer: SSL Context Initialization Failed.
WebServer FAIL - Store Load || WebServer: SSL Certificate loading Failed.
Yesterday || 'Yesterday'
Today || 'Today'
Today || 'Today'
Health - Active Playtime Comparison Decrease || Active players might be running out of things to do (Played ${0} vs ${1}, last two weeks vs weeks 2-4)
Health - Active Playtime Comparison Increase || Active players seem to have things to do (Played ${0} vs ${1}, last two weeks vs weeks 2-4)
Health - Downtime || Total Server downtime (No Data) was ${0}
Health - New Player Join Players, No || New Players may not have players to play with when they join (${0} on average)
Health - New Player Join Players, Yes || New Players have players to play with when they join (${0} on average)
Health - New Player Stickiness || ${0} of new players have stuck around (${1}/${2})
Health - No Servers Inaccuracy || No Bukkit/Sponge servers to gather session data - These measures are inaccurate.
Health - Player Play on Network || players played on the network:
Health - Player Register Server || players register on servers per day/server on average.
Health - Player Visit Server || players visit on servers per day/server on average.
Health - Regular Activity Change || Number of regular players has
Health - Regular Activity Change Decrease || decreased (${0})
Health - Regular Activity Change Increase || increased (+${0})
Health - Regular Activity Change Zero || stayed the same (+${0})
Health - Regular Activity Remain || ${0} of regular players have remained active (${1}/${2})
Health - Single Servers Inaccuracy || Single Bukkit/Sponge server to gather session data.
Health - TPS Above Low Threshold || Average TPS was above Low Threshold ${0} of the time
Health - TPS Low Dips || Average TPS dropped below Low Threshold (${0}) ${1} times

View File

@ -312,4 +312,22 @@ WebServer FAIL - Port Bind || Web Palvelin ei käynnistynyt
WebServer FAIL - SSL Context || Web Palvelin: SSL Kontekstin käynnistys ei onnistunut.
WebServer FAIL - Store Load || Web Palvelin: SSL Sertifikaatin lataus ei onnistunut.
Yesterday || 'Eilen'
Today || 'Tänään'
Today || 'Tänään'
Health - Active Playtime Comparison Decrease || Aktiivisilta pelaajilta voi olla loppumassa tekeminen (Pelasivat ${0} vs ${1}, viimeisen kahden viikon vs viikot 2-4)
Health - Active Playtime Comparison Increase || Aktiivisilta pelaajilta vaikuttaa olevan tekemistä (Pelasivat ${0} vs ${1}, viimeisen kahden viikon vs viikot 2-4)
Health - Downtime || Palvelimen downtime (Ei Dataa) oli ${0}
Health - New Player Join Players, No || Uusilla pelaajilla voi olla yksinäistä (${0} paikalla keskimäärin)
Health - New Player Join Players, Yes || Uusilla pelaajilla on kavereita liittyessä (${0} paikalla keskimäärin)
Health - New Player Stickiness || ${0} uusista pelaajista jäi pelaamaan (${1}/${2})
Health - No Servers Inaccuracy || Ei Bukkit/Sponge palvelimia sessio tietojen keräykseen - Nämä arviot ovat epätarkkoja.
Health - Player Play on Network || pelaajaa pelasi verkossa:
Health - Player Register Server || pelaajaa rekisteröityi palvelimille per päivä/palvelin keskimäärin.
Health - Player Visit Server || pelaajaa käy palvelimilla per päivä/palvelin keskimäärin.
Health - Regular Activity Change || Kestopelaajien määrä on
Health - Regular Activity Change Decrease || pienentynyt (${0})
Health - Regular Activity Change Increase || kasvanut (+${0})
Health - Regular Activity Change Zero || pysynyt samana (+${0})
Health - Regular Activity Remain || ${0} kestopelaajista on pysynyt aktiivisena (${1}/${2})
Health - Single Servers Inaccuracy || Yksi Bukkit/Sponge palvelin sessio tietojen keräykseen.
Health - TPS Above Low Threshold || Keskimääräinen TPS oli alarajan yläpuolella ${0} ajasta
Health - TPS Low Dips || Keskimääräinen TPS putosi alarajan alapuolelle (${0}) ${1} kertaa

View File

@ -313,4 +313,22 @@ WebServer FAIL - Port Bind || WebServer was not initialized
WebServer FAIL - SSL Context || WebServer: SSL Context Initialization Failed.
WebServer FAIL - Store Load || WebServer: SSL Certificate loading Failed.
Yesterday || 'Yesterday'
Today || 'Today'
Today || 'Today'
Health - Active Playtime Comparison Decrease || Active players might be running out of things to do (Played ${0} vs ${1}, last two weeks vs weeks 2-4)
Health - Active Playtime Comparison Increase || Active players seem to have things to do (Played ${0} vs ${1}, last two weeks vs weeks 2-4)
Health - Downtime || Total Server downtime (No Data) was ${0}
Health - New Player Join Players, No || New Players may not have players to play with when they join (${0} on average)
Health - New Player Join Players, Yes || New Players have players to play with when they join (${0} on average)
Health - New Player Stickiness || ${0} of new players have stuck around (${1}/${2})
Health - No Servers Inaccuracy || No Bukkit/Sponge servers to gather session data - These measures are inaccurate.
Health - Player Play on Network || players played on the network:
Health - Player Register Server || players register on servers per day/server on average.
Health - Player Visit Server || players visit on servers per day/server on average.
Health - Regular Activity Change || Number of regular players has
Health - Regular Activity Change Decrease || decreased (${0})
Health - Regular Activity Change Increase || increased (+${0})
Health - Regular Activity Change Zero || stayed the same (+${0})
Health - Regular Activity Remain || ${0} of regular players have remained active (${1}/${2})
Health - Single Servers Inaccuracy || Single Bukkit/Sponge server to gather session data.
Health - TPS Above Low Threshold || Average TPS was above Low Threshold ${0} of the time
Health - TPS Low Dips || Average TPS dropped below Low Threshold (${0}) ${1} times

View File

@ -313,4 +313,22 @@ WebServer FAIL - Port Bind || WebServer was not initialized
WebServer FAIL - SSL Context || WebServer: SSL Context Initialization Failed.
WebServer FAIL - Store Load || WebServer: SSL Certificate loading Failed.
Yesterday || 'Yesterday'
Today || 'Today'
Today || 'Today'
Health - Active Playtime Comparison Decrease || Active players might be running out of things to do (Played ${0} vs ${1}, last two weeks vs weeks 2-4)
Health - Active Playtime Comparison Increase || Active players seem to have things to do (Played ${0} vs ${1}, last two weeks vs weeks 2-4)
Health - Downtime || Total Server downtime (No Data) was ${0}
Health - New Player Join Players, No || New Players may not have players to play with when they join (${0} on average)
Health - New Player Join Players, Yes || New Players have players to play with when they join (${0} on average)
Health - New Player Stickiness || ${0} of new players have stuck around (${1}/${2})
Health - No Servers Inaccuracy || No Bukkit/Sponge servers to gather session data - These measures are inaccurate.
Health - Player Play on Network || players played on the network:
Health - Player Register Server || players register on servers per day/server on average.
Health - Player Visit Server || players visit on servers per day/server on average.
Health - Regular Activity Change || Number of regular players has
Health - Regular Activity Change Decrease || decreased (${0})
Health - Regular Activity Change Increase || increased (+${0})
Health - Regular Activity Change Zero || stayed the same (+${0})
Health - Regular Activity Remain || ${0} of regular players have remained active (${1}/${2})
Health - Single Servers Inaccuracy || Single Bukkit/Sponge server to gather session data.
Health - TPS Above Low Threshold || Average TPS was above Low Threshold ${0} of the time
Health - TPS Low Dips || Average TPS dropped below Low Threshold (${0}) ${1} times

View File

@ -313,4 +313,22 @@ WebServer FAIL - Port Bind || WebServer was not initialized
WebServer FAIL - SSL Context || WebServer: SSL Context Initialization Failed.
WebServer FAIL - Store Load || WebServer: SSL Certificate loading Failed.
Yesterday || 'Yesterday'
Today || 'Today'
Today || 'Today'
Health - Active Playtime Comparison Decrease || Active players might be running out of things to do (Played ${0} vs ${1}, last two weeks vs weeks 2-4)
Health - Active Playtime Comparison Increase || Active players seem to have things to do (Played ${0} vs ${1}, last two weeks vs weeks 2-4)
Health - Downtime || Total Server downtime (No Data) was ${0}
Health - New Player Join Players, No || New Players may not have players to play with when they join (${0} on average)
Health - New Player Join Players, Yes || New Players have players to play with when they join (${0} on average)
Health - New Player Stickiness || ${0} of new players have stuck around (${1}/${2})
Health - No Servers Inaccuracy || No Bukkit/Sponge servers to gather session data - These measures are inaccurate.
Health - Player Play on Network || players played on the network:
Health - Player Register Server || players register on servers per day/server on average.
Health - Player Visit Server || players visit on servers per day/server on average.
Health - Regular Activity Change || Number of regular players has
Health - Regular Activity Change Decrease || decreased (${0})
Health - Regular Activity Change Increase || increased (+${0})
Health - Regular Activity Change Zero || stayed the same (+${0})
Health - Regular Activity Remain || ${0} of regular players have remained active (${1}/${2})
Health - Single Servers Inaccuracy || Single Bukkit/Sponge server to gather session data.
Health - TPS Above Low Threshold || Average TPS was above Low Threshold ${0} of the time
Health - TPS Low Dips || Average TPS dropped below Low Threshold (${0}) ${1} times

View File

@ -313,4 +313,22 @@ WebServer FAIL - Port Bind || WebServer was not initialized
WebServer FAIL - SSL Context || WebServer: SSL Context Initialization Failed.
WebServer FAIL - Store Load || WebServer: SSL Certificate loading Failed.
Yesterday || 'Yesterday'
Today || 'Today'
Today || 'Today'
Health - Active Playtime Comparison Decrease || Active players might be running out of things to do (Played ${0} vs ${1}, last two weeks vs weeks 2-4)
Health - Active Playtime Comparison Increase || Active players seem to have things to do (Played ${0} vs ${1}, last two weeks vs weeks 2-4)
Health - Downtime || Total Server downtime (No Data) was ${0}
Health - New Player Join Players, No || New Players may not have players to play with when they join (${0} on average)
Health - New Player Join Players, Yes || New Players have players to play with when they join (${0} on average)
Health - New Player Stickiness || ${0} of new players have stuck around (${1}/${2})
Health - No Servers Inaccuracy || No Bukkit/Sponge servers to gather session data - These measures are inaccurate.
Health - Player Play on Network || players played on the network:
Health - Player Register Server || players register on servers per day/server on average.
Health - Player Visit Server || players visit on servers per day/server on average.
Health - Regular Activity Change || Number of regular players has
Health - Regular Activity Change Decrease || decreased (${0})
Health - Regular Activity Change Increase || increased (+${0})
Health - Regular Activity Change Zero || stayed the same (+${0})
Health - Regular Activity Remain || ${0} of regular players have remained active (${1}/${2})
Health - Single Servers Inaccuracy || Single Bukkit/Sponge server to gather session data.
Health - TPS Above Low Threshold || Average TPS was above Low Threshold ${0} of the time
Health - TPS Low Dips || Average TPS dropped below Low Threshold (${0}) ${1} times

View File

@ -313,4 +313,22 @@ WebServer FAIL - Port Bind || WebServer was not initialized
WebServer FAIL - SSL Context || WebServer: SSL Context Initialization Failed.
WebServer FAIL - Store Load || WebServer: SSL Certificate loading Failed.
Yesterday || 'Yesterday'
Today || 'Today'
Today || 'Today'
Health - Active Playtime Comparison Decrease || Active players might be running out of things to do (Played ${0} vs ${1}, last two weeks vs weeks 2-4)
Health - Active Playtime Comparison Increase || Active players seem to have things to do (Played ${0} vs ${1}, last two weeks vs weeks 2-4)
Health - Downtime || Total Server downtime (No Data) was ${0}
Health - New Player Join Players, No || New Players may not have players to play with when they join (${0} on average)
Health - New Player Join Players, Yes || New Players have players to play with when they join (${0} on average)
Health - New Player Stickiness || ${0} of new players have stuck around (${1}/${2})
Health - No Servers Inaccuracy || No Bukkit/Sponge servers to gather session data - These measures are inaccurate.
Health - Player Play on Network || players played on the network:
Health - Player Register Server || players register on servers per day/server on average.
Health - Player Visit Server || players visit on servers per day/server on average.
Health - Regular Activity Change || Number of regular players has
Health - Regular Activity Change Decrease || decreased (${0})
Health - Regular Activity Change Increase || increased (+${0})
Health - Regular Activity Change Zero || stayed the same (+${0})
Health - Regular Activity Remain || ${0} of regular players have remained active (${1}/${2})
Health - Single Servers Inaccuracy || Single Bukkit/Sponge server to gather session data.
Health - TPS Above Low Threshold || Average TPS was above Low Threshold ${0} of the time
Health - TPS Low Dips || Average TPS dropped below Low Threshold (${0}) ${1} times

View File

@ -313,4 +313,22 @@ WebServer FAIL - Port Bind || WebServer was not initialized
WebServer FAIL - SSL Context || WebServer: SSL Context Initialization Failed.
WebServer FAIL - Store Load || WebServer: SSL Certificate loading Failed.
Yesterday || 'Yesterday'
Today || 'Today'
Today || 'Today'
Health - Active Playtime Comparison Decrease || Active players might be running out of things to do (Played ${0} vs ${1}, last two weeks vs weeks 2-4)
Health - Active Playtime Comparison Increase || Active players seem to have things to do (Played ${0} vs ${1}, last two weeks vs weeks 2-4)
Health - Downtime || Total Server downtime (No Data) was ${0}
Health - New Player Join Players, No || New Players may not have players to play with when they join (${0} on average)
Health - New Player Join Players, Yes || New Players have players to play with when they join (${0} on average)
Health - New Player Stickiness || ${0} of new players have stuck around (${1}/${2})
Health - No Servers Inaccuracy || No Bukkit/Sponge servers to gather session data - These measures are inaccurate.
Health - Player Play on Network || players played on the network:
Health - Player Register Server || players register on servers per day/server on average.
Health - Player Visit Server || players visit on servers per day/server on average.
Health - Regular Activity Change || Number of regular players has
Health - Regular Activity Change Decrease || decreased (${0})
Health - Regular Activity Change Increase || increased (+${0})
Health - Regular Activity Change Zero || stayed the same (+${0})
Health - Regular Activity Remain || ${0} of regular players have remained active (${1}/${2})
Health - Single Servers Inaccuracy || Single Bukkit/Sponge server to gather session data.
Health - TPS Above Low Threshold || Average TPS was above Low Threshold ${0} of the time
Health - TPS Low Dips || Average TPS dropped below Low Threshold (${0}) ${1} times

View File

@ -313,4 +313,22 @@ WebServer FAIL - Port Bind || WebServer was not initialized
WebServer FAIL - SSL Context || WebServer: SSL Context Initialization Failed.
WebServer FAIL - Store Load || WebServer: SSL Certificate loading Failed.
Yesterday || 'Yesterday'
Today || 'Today'
Today || 'Today'
Health - Active Playtime Comparison Decrease || Active players might be running out of things to do (Played ${0} vs ${1}, last two weeks vs weeks 2-4)
Health - Active Playtime Comparison Increase || Active players seem to have things to do (Played ${0} vs ${1}, last two weeks vs weeks 2-4)
Health - Downtime || Total Server downtime (No Data) was ${0}
Health - New Player Join Players, No || New Players may not have players to play with when they join (${0} on average)
Health - New Player Join Players, Yes || New Players have players to play with when they join (${0} on average)
Health - New Player Stickiness || ${0} of new players have stuck around (${1}/${2})
Health - No Servers Inaccuracy || No Bukkit/Sponge servers to gather session data - These measures are inaccurate.
Health - Player Play on Network || players played on the network:
Health - Player Register Server || players register on servers per day/server on average.
Health - Player Visit Server || players visit on servers per day/server on average.
Health - Regular Activity Change || Number of regular players has
Health - Regular Activity Change Decrease || decreased (${0})
Health - Regular Activity Change Increase || increased (+${0})
Health - Regular Activity Change Zero || stayed the same (+${0})
Health - Regular Activity Remain || ${0} of regular players have remained active (${1}/${2})
Health - Single Servers Inaccuracy || Single Bukkit/Sponge server to gather session data.
Health - TPS Above Low Threshold || Average TPS was above Low Threshold ${0} of the time
Health - TPS Low Dips || Average TPS dropped below Low Threshold (${0}) ${1} times