From QOL 3.1 to release 4.0:
Additions:
-
Major:
- Added a wiki (https://github.com/Tiger-Tom/RunServerDotPy/wiki)
- Added mod reloader command
- Added commands to display links to go to RS.PY's Github page and Wiki
- Added a web interface. This interface shows everything that is outputted to users, as well as the results of any ChatCommands that it uses
-
Minor:
- Added protections for "speedtest" command failing
- TPS test command now actually shows something when it can't be run due to being ran to recently, before it just did nothing
Changes:
- Major:
- ChatCommands are "selected" in a different way - using the new "case-match" system in Python 3.10
- A lot of ChatCommands were also rewritten and maybe optimized
Cleaned up modloader function a bitCompletely overhauled the modloading system- Modding can now have custom runtimes - functions that run at certain times. Current times are firstStart, everyStart, lastStop, and everyStop
- Help text version checker now fingerprints both the current version and the (potentially newer) online version and compares them, instead of relying on cached help version data
- You can now change where RunServerDotPy checks for updates (it still has to be a GitHub repository), and where it checks for and downloads new help texts (which can be any JSON file)
- The queue.Queue for inputQueue (used for "injecting" ChatCommands synchronously from the console) has been replaced with the more efficient collections.deque
- Minor:
- Uptime command now shows in seconds, minutes, hours, days, and weeks format
- Cleaned up imports section & grouped similar imports further
Removals:
- Major:
- Removed the antivirus scan command and the update/upgrade command
- Minor:
- Removed some chat and console spam
- Removed some unusable features
- Removed battery sensor for sysinfo command
Bugfixes:
-
Major:
- Emoticon page menu now suggests text to run command instead of running a "/tag" command to set a flag, as this doesn't actually work without OP
- Tellraw functions fixed ("safeTellRaw" function specifically)
- Fixed an issue with the time calculations for "uptime" by replacing time.monotonic() with time.time()
- Fixed an issue where modules would be installed in the wrong version if "pip3" didn't correspond to the correct Python version
- Fixed an issue where "requests" module wasn't in the "non-standard" group that would be automatically installed if they were missing (I thought that that was build-in...)
- Speedtest command now prevents any user from running it again if a speedtest is already running
-
Minor:
- Fixed a bug which would cause the "sysinfo" command to still check for battery(when it still existed)/temperature, even if these don't actually exist, therefore causing an exception
- Fixed an issue where an exception would be displayed in console if ";sudo" or ";root" was entered without any commands
- Fixed an issue where some outputs of the sysinfo command were being broadcast to all user and some weren't. Now all of them just go to the target user
- Fixed a bug with the (semi)automatic EULA agree-er
-
Typo/misspelling:
- Fixed a misspelling that caused a log's start time to be "Y%" instead of STRFTimed "%Y"
- Fixed an issue where the help menu for sudo commands would show ";sudo[command]" without spacing upon hovering over or inserting a command, instead of ";sudo [command]"