Releases: JeremyFail/ServerGUI
v1.1.4
Overview
This release adds a few quality of life features, improvements, and fixes some bugs.
Changes/Features
General
- SpigotGUI has been rebranded to ServerGUI. Since it works with more than just Spigot, I thought the name no longer fit.
- An official logo has also been created. You can see it on the repository main page!
- This logo is also now used for the icon when the app is running.
- Settings storage has been changed to a JSON file
- This is to fix issues where sometimes when new config settings were added, the old file was not compatible and users had to re-configure their app. This should no longer occur - when we add or remove settings in the future, the settings file will just be updated without losing all the other settings that were already configured.
- Better internal processes for running and managing running servers have been implemented. If ServerGUI somehow crashes while a Minecraft server is running, when you relaunch it, you should be able to reconnect to the running Minecraft server. This new protocol also will help for a planned revamp of the Remote Admin feature coming in the next release.
- A Kill Server button has been added
- This button will forcefully terminate a server if it's not responding.
- It is not visible by default. You can enable this from the Settings.
- Better multi-monitor support:
- When launching ServerGUI it will be launched on the "active" monitor (wherever the mouse cursor is)
- Popups (confirmation dialogs) and other windows (file editor, etc.) will launch on the same monitor as the main application
- On high-DPI monitors, some text would be cutoff on initial launch. This should (hopefully) no longer occur.
- Better Java 21+ support
- In some cases with newer Java versions, ServerGUI would not launch or would fail silently. This should no longer occur.
- If a user tries to launch a Minecraft server with JVM flags that are not supported by newer Java versions, those JVM flags will be ignored. A warning will also be displayed in the console window.
- Added Global Exception handling:
- If ServerGUI encountered an issue, it would either just crash or fail silently and not tell the user. This could result in a hung app (can't do anything), or other issues. We now will prevent these types of hang ups from occurring when possible, and will log errors in the server console if/when this occurs.
- Fixed version parsing issues with Spigot, where ServerGUI would not detect that the server being run was a Spigot server.
Console
- The console now has a command history - you can use the up arrow to re-run commands you previously entered, like a terminal interface does.
- A submit/enter button has been added for UX purposes
- Color adaptiveness is now configurable (see Settings tab)
- Previously, when using colors in the console, if a color was deemed to dark (for dark mode) or too light (for light mode), said color would be lightened/darkened (depending on the mode). So the "true" color was not being used. This setting is advised for the best experience. However, if you wish to see the "true" color, you can disable this setting.
- Both 256-color and TrueColor (24-bit, i.e. 16 million color) support has been added.
- Note that the server you are running must support these via ANSI. Paper supports this, Spigot does not. Other server software may support it as well, but it has not been tested.
- With this support, you should be able to see hex-color text and gradients in the console when used in Paper servers.
- Italic, Underline, and Strikethrough support has been added to the console
- Log Level coloring has been added (if a WARN or ERROR is logged, that prefix will be colored Yellow or Red respectively).
- Encoding support has been added to properly support unicode characters in the console. Note that Spigot has some issues with this still, but Paper works great. Spigot has some issues internally that we cannot work around so you will likely still see some visual glitches with unicode characters on Spigot.
Files
- The "up-one-level" option (to navigate to a parent folder) now has a unique icon to differentiate it from other directory icons.
File Editor
- File Editor theme now uses the main app theme. The file editor theme is no longer a separate theme setting.
- Find and Replace has been greatly improved and now operates more like VS Code or other modern editors using an "in-line" experience.
Ctrl + FandCtrl + Hhotkeys now work properly
- The File Editor now detects if a file was modified externally and will prompt to reload the file in such cases.
- The File Editor now supports additional file types for syntax highlighting
- The File Editor File/Edit menus have been improved
- Hotkeys now listed
- Save As now an option
- Undo/Redo now work properly
Settings
- The Theme Accent Color setting has been improved to just be entirely hidden when a theme does not support custom accent colors.
- New settings have been added:
- Custom JVM - Use if you need to specify a specific java installation to run the Minecraft server with
- If not specified, the version of Java used to launch ServerGUI will be used to launch the Minecraft server
- Adapt console colors for background - whether to make the console colors the exact colors or to brighten/darken them based on the console background (light/dark mode)
- Display Kill Button - Shows the Kill Server Button in the top of the UI to forcefully terminate a non-responding server
- Custom JVM - Use if you need to specify a specific java installation to run the Minecraft server with
- Settings removed:
- File Editor Theme - the file editor theme is now dynamic based on the main theme. It no longer has a separate/unrelated theme.
Known Issues
I am aware of issues with the remote admin feature. It appears that most of the remote admin functionality is not working right now.
I plan to modify the application and completely rework the way remote admin works in the next release.
Please let me know if you run into any issues or have questions about this release by submitting an issue on the Issues tab.
v1.1.3
Overview
This release adds a few quality of life features, improvements, and fixes a few small bugs.
Changes/Features
General
- JTattoo themes have been removed and replaced with Flatlaf themes. There are several benefits to this change:
- Flatlaf offers a more compatible open source license, and support for any IntelliJ theme. So future theme additions would be easy to add. These themes also look more modern and clean.
- The default theme is now consistent across platforms (Flat Light)
- A configurable Theme Accent Color has been added to the Settings, which compatible themes will use for colors in various UI components
- When a theme doesn't use the theme accent color it will be indicated with a small label next to the theme accent color swatches
- Note that some themes may use the accent color partially - these themes will still be indicated with the small label
- One small tradeoff with this change is that the JAR size has increased slightly to include the new themes
- The start, stop, restart buttons are now colored and look nicer (using the Flatlaf icons)
- A new Resources tab has been added - see below for more details
- The Settings tab is now the second to the last tab
- Fixed an issue where the "Windows" theme could be selected on non-windows machines, which would break the app.
Resources
- A resources tab has been added, which now tracks server resource usage. This includes:
- CPU
- Memory
- Player count
- The live graph added tracks resources for the last 5 minutes, while the server is running.
Files
- Fixed a bug with the built-in file editor where Undo would sometimes delete all contents of the file.
Known Issues
I am aware of issues with the remote admin feature. It appears that most of the remote admin functionality is not working right now.
I plan to modify the application and completely rework the way remote admin works in a future release. When I do this, I will get the existing features working again.
Please let me know if you run into any issues or have questions about this release by submitting an issue on the Issues tab.
v1.1.2
Overview
This release adds a few quality of life features and improvements, and fixes a few small bugs.
Changes/Features
General
- The main server controls (start/stop/restart, server IP, server status) have been moved out of the console tab and placed above the tab controls - this allows control and view of the server state while on any tab.
- These buttons are also now icons with tooltips instead of just text buttons. A setting has been added under the Appearance section of the Settings tab to change them back to text-only buttons if you prefer those.
- The buttons will be disabled when it makes sense that you should not be able to click them (e.g. you will not be able to click the start button when the server is already running, and you will not be able to click the stop/restart buttons when the server is offline).
- The large server status icons have been replaced with smaller versions since they have been moved to the top of the UI.
- Moved the Exit Timer drop-down to the Settings tab and renamed it to "Shutdown/restart countdown" (and added additional flexibility to allow various time configurations)
Console
- The Console now supports "sticky" scroll - it will automatically scroll with the console logs, unless you scroll up, at which point it is no longer "sticky" until you scroll back to the bottom of the console log.
- A new configuration setting has been added under the Appearance section of the Settings tab to allow for manual control of the "sticky" status of the console. This enables a new checkbox on the Console tab to configure when the scrolling will be sticky or not.
- Links in the console are now clickable and will open the link in your browser when clicked
- Cleaned up this tab with the changes to the general layout
Players
- The Players list should now work with all supported Bukkit-derived server types (Bukkit, Spigot, Paper)
- The Players tab now includes a total online player count at the top (note that this uses the
server.propertiesto get the total - if you use plugins that modify the server total count, this number may be inaccurate). - The Players list table only lists players logged on - it used to be a long empty list, but that was unnecessary and now just shows the online players.
- Cleaned up this tab with the changes to the general layout
Settings
- Fixed the server JAR file not actually being saved between sessions. Now if you set the server JAR, it will use that same JAR the next time you load the app.
- Cleaned up/reorganized some of the settings
- Added new settings for new features (as mentioned above)
- The settings tab now has tooltips on every setting to explain what that setting does in further detail. Hover your mouse over a setting to try it out!
Files
- Improved the Files tab further by adding a right-click context menu, as well as a "New" button to add a new file or folder.
Please let me know if you run into any issues or have questions about this release by submitting an issue on the Issues tab.
v1.1.1
Overview
This release fixes some small bugs with the display of some of the tabs, and adds a few quality of life features and improvements.
Changes/Features
- The Console now has a dark mode and supports text colors. If any plugins use text colors, it should now work in the console.
- This is configurable using two new settings
- Paper is now a supported server type (will display in the title bar when the server is running, instead of "unknown").
- Improved the built-in file browser (now has icons to represent folders vs. files)
- Improved the built-in file editor - now supports syntax highlighting, better editing support
- Added a new setting to open files in the system default application instead of the built-in editor
- Added a new setting to set the editor theme, which is part of the improvements to the file editor
- Due to these improvements, the new JAR file is larger than before as the app is now using a new library that it wasn't using before.
- Improved the display of the Settings tab (settings are now grouped into sections, a scrollbar appears if the window is shrunk too small)
- Moved the theme selection to the settings tab
- Added new settings as mentioned above to this tab
- Improved theme selection - depending on the theme, it may allow hot-swapping, but otherwise the settings tab will display some red text when switching to a theme that requires a restart
- Fixed some buttons and other UI components that weren't displaying correctly in all themes
- Now handling multiple monitors a bit better (when opening the help window or the file editor, these windows now open on the same monitor that the main application is on, instead of always opening on the main monitor)
Please let me know if you run into any issues or have questions about this release by submitting an issue on the Issues tab.