PySpigot icon

PySpigot -----

A Python scripting engine for your Minecraft server.




This update is a minor release, and it only contains one new feature (custom script events) as well some minor bug fixes and code improvements.

The bigger news with this update is that the new documentation site is live! Check it out at https://pyspigot-docs.magicmq.dev.

Additions:
Changes:
  • Updated all dependencies to latest versions (including Jython to 2.7.4)
  • Minor code improvements/cleanup
  • Minor improvements to config file comments and JavaDocs
Bug Fixes:
  • Fixed an issue with log messages not being printed correctly when running regular Spigot server software
  • Fixed an issue with the library manager attempting to load non-JAR files and folders

See the complete change log here: https://github.com/magicmq/pyspigot/releases/tag/v0.7.1
----------, Dec 17, 2024

This update contains some breaking changes, as well as many other major additions, changes, and bug fixes.

Breaking changes:
  • Removed the script dependency system. Scripts are now assigned a load priority in the script_options.yml file. Scripts with higher load priority load earlier than scripts with a lower load priority.
  • The suppress-update-messages value in the config.yml has been changed to show-update-messages, and the default value is now true instead of false.
  • The reloadConfig function in the config manager has been deprecated in favor of the reload function inside of the script config object. See the documentation for more information.
Other changes:
  • Using print in a script now redirects the message to the script's logger and tags the message with the script's name when printing to the server console
  • The script manager now returns a run result (RunResult.FAIL_SCRIPT_NOT_FOUND) instead of throwing a FileNotFoundException when attempting to load a script that doesn't exist
  • With the new script plugin dependency system, scripts are now automatically unloaded if a plugin the script depends on is unloaded. This can be disabled by setting script-unload-on-plugin-disable to false in the config.yml
  • Minor improvements in error logging
  • Added additional aliases to some commands
  • A lot of code cleanup/optimization
Additions:
  • The plugin now official supports MC version 1.21
  • Added the database manager to work with SQL and Mongo database servers
  • Added the redis manager to work with redis servers
  • Added a new SyncCallbackTask task type to the task manager
  • Added support for creation of subfolders in the scripts and configs folders for better organization of scripts and config files
  • Added doesConfigExist and deleteConfig functions to the config manager
  • Added ability to specify script permissions in the script_options.yml
  • Added ability to specify script plugin dependencies in the script_options.yml
  • Added ability to specify default script options in the config.yml
Bug Fixes:
  • Fixed a bug where the plugin would not display chat messages correctly on MC versions older than 1.16
  • Fixed broken link when pinging Spigot for latest available plugin version
  • Fix error when using /pyspigot info if ProtocolLib and/or PlaceholderAPI are not present on the server
  • Fixed some dependencies not being properly relocated in the final pyspigot JAR file
  • Fixed error when fetching config.yml default values
  • Fixed broken Minecraft version parsing for versions newer than 1.20
  • Fixed an error that would occur if attempting to unload active objects from a manager class in the stop function of a script
  • Fixed an endless loop that would occur if an exception was thrown inside of a script's event listener when listening to ScriptExceptionEvent
  • Fixed a bug where changes to a config upon using the set function were not reflected unless if a config was reloaded manually
For complete descriptions of these changes and additions, see the latest version of the documentation: https://pyspigot-docs.magicmq.dev
For the complete changelog, see GitHub: https://github.com/magicmq/pyspigot/releases/tag/v0.7.0
----------, Aug 19, 2024

This update contains several key bug fixes, and some minor changes and additions.

Additions:
  • Added the `/pyspigot info` command, which displays various information about a script
  • Wrote automated system to update the `pyspigot.py` library if any changes were detected, including a config option to disable this feature if desired
Changes:
  • Project is now compiled with JDK 17, which means that going forward, it will only work on Java 17+
  • PySpigot now checks if a script file exists before performing any load tasks
  • The `/pyspigot reload` command now functions more like the `/pyspigot load` command for ease of use
Bug Fixes:
  • Fixed a bug where an error would occur when calling the pyspigot module if ProtocolLib and/or PlaceholderAPI were not running on the server
  • Fixed a bug where a subclass event listener would be called if a superclass event of the listener fired
  • Fixed a bug where directories within the plugin folder were not created on first run of the plugin
  • Fixed a bug where an error would occur on script unload if the script's handler was never initialized
  • Fixed a bug within an example script
----------, May 22, 2024

This is a major update, and it contains a lot of additions, changes, bug fixes, and overall improvements. It is highly recommended that you update to this version. Some of the most relevant of these on the user end are below.

Additions:
  • Added the script options system, which are user-defined options that pertain to each script, including enabled, dependencies, and per-script logging options
  • Exposed the script manager to scripts, which enables scripts to load/unload other scripts
  • Added more detailed console log messages when scripts are loaded and unloaded
  • Added a /pyspigot reloadall command, which reloads the config, libraries, and all scripts in one go
  • Added the ability to import and utilize external Python modules, which includes the addition of the python-libs folder
  • Added the pyspigot.py helper module to make accessing PySpigot managers easier
  • Added the ability to pass arguments to functions called by synchronous and asynchronous tasks via the task manager
Changes:
  • Removed assignment of global variables system to the globals variable. See the documentation for information on how to access the global variables system
  • Cleaned up/improved command messages
  • bStats now collects data on total number of scripts and number of loaded scripts
  • The libs folder, where Java libraries go, was renamed to java-libs
  • Error messages from tasks now display the task ID from which the error originated
  • A lot of code optimization and performance improvements
Bug Fixes:
  • Fixed script error/log messages printing the identifier twice
  • PySpigot now properly cleans up Jython resources on script unload (fixes errors that some users experienced when scripts were unloaded)
  • Fixed a bug where an error would occur if a script attempted to unregister its own listeners, commands, etc. in the stop() function
  • Fixed an issue where bStats metrics were not appropriately closed on plugin unload
  • Fixed /pyspigot reloadconfig command printing usage messages
  • Fixed broken JAR relocation for Java libraries
  • Fixed incorrect logging of non-ASCII characters to script log files
  • Fixed update notification system performing I/O operations on the main server thread
There are several other minor changes, fixes, and additions. For a complete list, see the release information on GitHub.
----------, Apr 3, 2024

This version contains a couple additions, including:
  • Script commands are now added to the server-wide help menu (/help)
  • Added a /pyspigot help command that displays some useful links
  • Added notification system to notify when using an outdated version of PySpigot (displayed to players on login with the permission pyspigot.admin)
In addition, there are a couple minor bug fixes:
  • Fix unexpected behavior with tab completion of script commands
  • Fix bug where script loading would occasionally halt
For the complete change log, see https://github.com/magicmq/pyspigot/releases/tag/v0.4.0.
----------, Sep 3, 2023

There are a couple key bug fixes in this update, including:
  • Fixed an error when unregistering certain event listeners
  • Fixed delayed tasks (both synchronous and asynchronous) not being cancelled on script unload
For the complete change log, see https://github.com/magicmq/pyspigot/releases/tag/v0.3.1.
----------, Jul 9, 2023

Most of the changes in this version do not affect functionality of the plugin. Most notable is the addition of metrics (by bStats). If you wish to disable this, you can do so by adding
Code (YAML):
metrics-enabled : false
to PySpigot's config.yml.

For a complete list of additions/changes/fixes, see https://github.com/magicmq/pyspigot/releases/tag/v0.3.0.
----------, Jul 7, 2023

Resource Information
Author:
----------
Total Downloads: 1,500
First Release: Jul 5, 2023
Last Update: Dec 17, 2024
Category: ---------------
All-Time Rating:
8 ratings
Find more info at pyspigot-docs.magicmq.dev...
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings