Package com.ranull.graves.util
Class ServerUtil
java.lang.Object
com.ranull.graves.util.ServerUtil
Utility class for gathering server information and generating server dumps.
This class includes methods for retrieving various system and server-related information.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static String
formatBytes
(long bytes) Formats a byte count into a human-readable string with appropriate units.private static String
formatDuration
(long seconds) private static String
formatFrequency
(double frequency) private static String
Reads the OS name from the /etc/os-release file on Unix-like systems.private static String
getNmsVersion
(Object server) Retrieves the NMS version using reflection to ensure compatibility.private static String
Gets the detailed OS name from the system properties or files.private static String
Gets a list of online players' names.private static String
Gets a list of plugins with their names and versions.static String
getServerDumpInfo
(Graves plugin) Gathers server information and generates a dump in string format.private static String
getSystemProperty
(String key) Gets the value of a system property or returns "Unknown" if the property is not set.static boolean
hasKeepInventory
(org.bukkit.World world) private static boolean
isPasswordField
(String path) Determines if the given configuration path corresponds to a password field.private static boolean
Checks if the server is running in a rootless Docker container.private static boolean
Checks if the server is running with root-level access.private static boolean
Checks if the server is running in a Docker container.private static boolean
Checks if the server is running with a panel (e.g., hosting panel).private static String
Joins a list of strings into a single string, separated by new lines.private static String
maskPasswords
(String configString, org.bukkit.configuration.file.FileConfiguration config) Masks passwords in the configuration string with asterisks while retaining the character count.private static String
readFileToString
(File file) Reads a file into a string.private static String
repeat
(char ch, int times) Repeats a character a specified number of times.
-
Constructor Details
-
ServerUtil
public ServerUtil()
-
-
Method Details
-
getServerDumpInfo
Gathers server information and generates a dump in string format.- Parameters:
plugin
- The Graves plugin instance.- Returns:
- A string containing the server dump information.
-
formatFrequency
-
readFileToString
Reads a file into a string.- Parameters:
file
- The file to read.- Returns:
- The content of the file as a string.
- Throws:
IOException
- If an I/O error occurs.
-
formatDuration
-
getNmsVersion
Retrieves the NMS version using reflection to ensure compatibility.- Parameters:
server
- The Bukkit server instance.- Returns:
- The NMS version string.
- Throws:
Exception
- if the method to retrieve NMS version is not found.
-
formatBytes
Formats a byte count into a human-readable string with appropriate units.- Parameters:
bytes
- The number of bytes.- Returns:
- A string with the byte count formatted in B, KB, MB, GB, TB, or PB.
-
hasKeepInventory
public static boolean hasKeepInventory(org.bukkit.World world) -
getSystemProperty
Gets the value of a system property or returns "Unknown" if the property is not set.- Parameters:
key
- The name of the system property.- Returns:
- The value of the system property or "Unknown" if not set.
-
getOsName
Gets the detailed OS name from the system properties or files.- Returns:
- A string with the OS name.
-
getLinuxOsName
Reads the OS name from the /etc/os-release file on Unix-like systems.- Returns:
- A string with the OS name.
-
isRunningInDocker
private static boolean isRunningInDocker()Checks if the server is running in a Docker container.- Returns:
- True if running in Docker, otherwise false.
-
isRootlessDocker
private static boolean isRootlessDocker()Checks if the server is running in a rootless Docker container.- Returns:
- True if running in a rootless Docker container, otherwise false.
-
isRunningWithPanel
private static boolean isRunningWithPanel()Checks if the server is running with a panel (e.g., hosting panel).- Returns:
- True if running with a panel, otherwise false.
-
isRunningAsRoot
private static boolean isRunningAsRoot()Checks if the server is running with root-level access.- Returns:
- True if running as root, otherwise false.
-
maskPasswords
private static String maskPasswords(String configString, org.bukkit.configuration.file.FileConfiguration config) Masks passwords in the configuration string with asterisks while retaining the character count.- Parameters:
configString
- The configuration string.config
- The FileConfiguration object.- Returns:
- The modified configuration string with passwords masked.
-
isPasswordField
Determines if the given configuration path corresponds to a password field.- Parameters:
path
- The configuration path.- Returns:
- True if the path is a password field, otherwise false.
-
joinLines
Joins a list of strings into a single string, separated by new lines.- Parameters:
lines
- The list of lines to join.- Returns:
- A single string with lines joined by new lines.
-
repeat
Repeats a character a specified number of times.- Parameters:
ch
- The character to repeat.times
- The number of times to repeat the character.- Returns:
- A string with the character repeated.
-
getPlayerList
Gets a list of online players' names.- Returns:
- A comma-separated string of online player names.
-
getPluginList
Gets a list of plugins with their names and versions.- Returns:
- A comma-separated string of plugin names and versions.
-