A set of Django plugins that will display live Minecraft server status and information within your project.
Project description
This is a simple set of plugins intended for use with Django-CMS, designed to aid in retrieving data from the servers. Much of this code comes from Dinnerbone’s amazing source (..thank you dude!) that he has graciously left as “fully open”.
See the plugins in action here!
Protocol documentation is available as well, thanks to Dinnerbone.
IMPORTANT CHANGES from 0.0.1
In 0.0.1 there was an issue with the plugin regarding socket timeout - this has been fixed in 0.1.0 - as well as quite a few other additions and changes. However, these changes also resulted in requiring your plugins to be reconfigured in edit mode after you have migrated the changes into your project from the update. Until you do this, they will be blank.
INSTALLATION
Install with pip:
pip install djangocms-minecraft
Or, optionally, install the development version:
pip install git+https://git@bitbucket.org/oddotterco/djangocms-minecraft.git#egg=djangocms-minecraft
Then, in your project’s settings.py file, add ‘djangocms_minecraft’ to the INSTALLED_APPS like so:
INSTALLED_APPS += ('djangocms_minecraft',)
Finally, perform syncdb and migrate on your project, as well as collectstatic to get all the supplied css and images for this plugin.
A note on CACHEing
It is recommended that you configure caching on your server when using this plugin (and in general, really). It really is not too complicated to set up basic caching. The following is a very basic config example, just add it to your settings.py project file to use your existing database backend as a cache server as well.:
# Enable plugin and content caching # Don't forget to: ./manage.py createcachetable cache_data CACHES = { 'default': { 'BACKEND': 'django.core.cache.backends.db.DatabaseCache', 'LOCATION': 'cache_data', }, }
Minecraft Server Config
Don’t forget to make sure that your web server has access to the ports that your Minecraft server is going to be answering these queries on. Typically this will be the same as the Minecraft game port (which is default 25565) for the status, query and plugins-list plugins. For the RCON plugins, make sure that port (default is usually 25575) is open to the web server from the game server as well. Also, for all but the basic status plugin, you will need to configure the inecraft server to enable those services. Query and RCON are both off by default (). Look for details in the inecraft Server.properties wiki entry.
USAGE
Simply add the plugins to pages as desired. They will show up in both a text plugin’s plugins-list as well as the page plugins-list, under the header “Minecraft”.
Also included, for your use, is the commandline client provided by Dinnerbone. To use it, simply issue the command mcquery and help-text will guide you. Typical usage might be mcquery my_minecraft.server.net. Keep in mind that the Minecraft server port needs to be accessible by the client issuing the command, and for the full query response, you will also need to enable query mode on your Minecraft server.
SUPPORT
If you have questions or ideas, or encounter bugs, add an entry to our issue tracker.
LICENSE
Public domain - do what you will with this code. Drop a line and let me know it helped you.
As with Dinerbone’s original code - Fully open. Go wild. Let us know what you do with it and PLEASE feel free to fork and pull-request!
CHANGELOG
- v0.2.1 2014/Sep/01
Changed Minecraft host field to character, not IP. Some users were reporting the need for standard domain names.
Added missing migration files to uploaded version.
- v0.2.0 2014/Sep/01
Added caching to server info to speed up rendering if cache is enabled and configured.
Added ‘mcquery’ entry_point to the cli.py command utility from Dinnerbone
Many small fixes and cleanup, as well as some commenting and documentation
- v0.1.0 2014/Aug/28
Fixed timeout issues when server was not available
Reduced to one servers list table for all plugins
Cleaned up templates and added example graphics
Added human readable field names and help text to server models
- v0.0.1 2014/Aug/25
PEP version number conflicts resolved
- v0.0.1a1 2014/Aug/25
Initial release
FURTHER IDEAS
What is next? Here are the ideas for the moment. Please feel free to join in on this list - just create an issue and mark it as a proposal. Be as specific as you can.
Docs
Configuration tips, dos and dont’s doc for new users (include info about security issues with enabling query) Use wiki?
Core
- Make the servers list reusable so that a user does not have to re-enter the server info - reduces error potential of
bad data over multiple plugins pointing at the same server.
Make server timeout configurable (use livesettings or store per-server?)
Optional, configurable and RESTful JSON API for external consumers
Query-Plugins
Autocheck for dynmap plugin before offering to link the map in full_status plugin?
Javascript option to auto-update the status on a page without refreshing
Use the specific Minecraft server icon as the “server up” image if there is one
RCON-Plugins
Add RCON support (whitelist, reload, etc)
Help page plugin that populates using rcon
Auto-check for supported plugins and offer RCON support as each becomes supported and available
add entry-point for rcon command (mcrcon)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file djangocms-minecraft-0.2.1.tar.gz
.
File metadata
- Download URL: djangocms-minecraft-0.2.1.tar.gz
- Upload date:
- Size: 24.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b02662505f61bf5a120f8a2c4bc3c7c67aee6f7f17d11a0b563ebdfbaab8a61c |
|
MD5 | 8d560e33ce4172a442876058c893081c |
|
BLAKE2b-256 | d3fda0fc1e7bc7a06ee5815d20b761417c88ae2d115674fc0a76e3ba05806f06 |