All Projects → benbaptist → Minecraft Wrapper

benbaptist / Minecraft Wrapper

Licence: gpl-3.0
A simple & intuitive Minecraft Server wrapper. Supports IRC, backups, a plugin system, and more.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Minecraft Wrapper

restique
A wrapper around restic with profiles
Stars: ✭ 43 (-44.16%)
Mutual labels:  wrapper, backup
auto-mysql-backup
a wrapper for automysqlbackup
Stars: ✭ 19 (-75.32%)
Mutual labels:  wrapper, backup
Bash Snippets
A collection of small bash scripts for heavy terminal users
Stars: ✭ 8,558 (+11014.29%)
Mutual labels:  backup
Csnackbar
This is a wrapper for android Snackbar. Which giving support to change Snackbar color, duration, message or even it's content view with a custom view.
Stars: ✭ 76 (-1.3%)
Mutual labels:  wrapper
Oragono
A modern IRC server (daemon/ircd) written in Go.
Stars: ✭ 1,171 (+1420.78%)
Mutual labels:  irc
Phpbu
PHP Backup Utility - Creates and encrypts database and file backups, syncs your backups to other servers or cloud services and assists you monitor your backup process
Stars: ✭ 1,147 (+1389.61%)
Mutual labels:  backup
Uglifyjs Online
JavaScript minifier in the browser
Stars: ✭ 71 (-7.79%)
Mutual labels:  wrapper
Packagesync
Sync sublime text packages & user settings across devices.
Stars: ✭ 63 (-18.18%)
Mutual labels:  backup
Phenomenon Px
⚡️ The fastest way to create pixel shaders.
Stars: ✭ 77 (+0%)
Mutual labels:  wrapper
Hentai
Implements a wrapper class around nhentai's RESTful API.
Stars: ✭ 68 (-11.69%)
Mutual labels:  wrapper
Cv4pve Barc
Backup And Restore Ceph for Proxmox VE
Stars: ✭ 74 (-3.9%)
Mutual labels:  backup
Weechat Autosort
Automatically keep your buffers sorted.
Stars: ✭ 69 (-10.39%)
Mutual labels:  irc
Domonit
A Deadly Simple Docker Monitoring Wrapper For Docker API
Stars: ✭ 67 (-12.99%)
Mutual labels:  wrapper
Swifttwitch
👾 The New Twitch API for iOS; wrapped in Swift goodness 👾
Stars: ✭ 72 (-6.49%)
Mutual labels:  wrapper
Backup
MySQL Database backup package for Laravel
Stars: ✭ 66 (-14.29%)
Mutual labels:  backup
Docker Openldap Backup
A docker image to run OpenLDAP, and make periodic backups 🐳
Stars: ✭ 75 (-2.6%)
Mutual labels:  backup
Remodel
Data and class remodeling library
Stars: ✭ 63 (-18.18%)
Mutual labels:  wrapper
Pinboard Notes Backup
Back up the notes you’ve saved to Pinboard
Stars: ✭ 69 (-10.39%)
Mutual labels:  backup
Kaguya
A small, powerful, and modular IRC bot
Stars: ✭ 71 (-7.79%)
Mutual labels:  irc
Bareos Webui
Bareos Web User Interface
Stars: ✭ 78 (+1.3%)
Mutual labels:  backup

Outdated Repository

Wrapper.py has moved to a new repository. It features a total re-write, with better performance, Python 2.x and 3.x compatibility from the ground up, a new, sleek dashboard interface, and more.

This will remain online as an archived repository only.

An extremely huge thank-you to @suresttexas00 for maintaining the Wrapper.py project for so long! Wrapper would've been dead in the road long ago if it weren't for you.

Overview


Wrapper.py is an easy to use Minecraft server wrapper for adding extra functionality into the server without modifying the server jar file. It also comes with a relatively simple and straight-forward - yet powerful - plugin API that can be used to create Bukkit-like plugins with no server modding. The API works best when operated in proxy mode.

We also have a gitter channel: Join the chat at https://gitter.im/benbaptist/minecraft-wrapper

Wrapper.py Versions

NOTICE: Wrapper will Accept the minecraft server EULA on your behalf. 2

Features


Wrapper.py supports the following features:

  • Plugin system for adding extra features to a vanilla server.
  • Permissions system with group support.
  • Proxy mode operation allows you to add extra bukkit-like functionality to plugins:
    • Real / command interface.
    • Built in hub worlds / multi-server support!
      • Use the built-in /hub functionality with world configurations set up in the wrapper config, or
      • Implement your own customized version with the plugin API by calling the player.connect() method.
    • Limit entity breeding / spawning with entity controls.
    • Monitor, Modify, and change:
      • player chat.
      • player block /digging/placement.
      • player inventory.
      • .. and More!
  • Automatic Backups
    • Automatically delete the oldest backups once you reach a specified number of backups
    • Specify which folders and files get backed up
  • IRC bridge
    • Controlling server from IRC
    • Achievements, deaths, and whatnot appear on IRC
    • Chat between Minecraft server and IRC channels
  • Scheduled reboots
  • Web remote for controlling the server and the wrapper through your web browser
  • Shell scripts that are called upon certain events (similar to plugin events, but quicker and easier)
  • Minecraft 1.7 and later support
  • Colorized console logging.

Installation

Python Versions

Python 3.5 + is suggested, However...

Dependencies

Wrapper.py requires the following packages:

  • Python packages: pip, requests, cryptography, bcrypt, setuptools, pkg_resources
  • Tar is required for backups.
  • More...

LINUX download and setup

Windows Download and setup

Start Up

You only need to download Wrapper.py. The '\wrapper' folder is the source code and is just the extracted version of Wrapper.py. Wrapper.py is a Python-executable archive folder containing the sourcecode.

To start Wrapper, open a console where the Wrapper.py or /wrapper sourcecode are located and type the following into the console to start:

python Wrapper.py|/wrapper [--passphrase 'passphrase'] The passphrase must be 8 or more characters in length!

Starting Wrapper.py for the first time...

Once wrapper has started:

  • Open the wrapper.properties.json file and tune the file to your remaining preferences.

  • Tune and setup your server and server.properties accordingly.

  • Restart wrapper.

    [15:28:08] [Server thread/INFO]: Starting minecraft server version 1.12.2
    [15:28:08] [Server thread/INFO]: Loading properties
     ...
    [15:28:16] [Server thread/INFO]: Preparing spawn area: 94%
    [15:28:17] [Server thread/INFO]: Done (7.956s)! For help, type "help" or "?"
    [15:28:17] [Wrapper.py/INFO]: Server started
    [15:28:17] [Wrapper.py/INFO]: Proxy listening on *:25566
    

Operating wrapper

  • Any console command beginning with a slash (/) will be interpreted firstly as a Wrapper.py command.

  • Type /help to see a list of Wrapper.py commands.

  • To completely shutdown the wrapper, type /halt.

  • To enter passwords into the wrapper.properties.config file, use the /password console command to enter the applicable password: /password Web web-password <new password>

Please read our Doc page for additional information and review the issues page before submitting bug reports.
If you run into any bugs, please do report them!

If you have questions, please use our Gitter page instead of creating an issue.

API

The references for the wrapper plugin API are here: Wrapper.py Plugin API

New Permissions System

A file in the wrapper root directory "superOPs.txt" now augments the "Ops.json" file. Operators in the ops.json file can be assigned a higher (wrapper) OP level. The contents of the file are laid out just like server.properties (lines of <something>=<value>).

Sample superops.txt:

Suresttexas00=5
BenBaptist=9

Higher op levels are required to run sensitive wrapper commands like /perms.

Plugins

The modern event list is updated with each build: 3

Check the 'example-plugins' and 'stable-plugins' folders to see some example plugins. These are very useful for seeing how the API functions.

  • TEMPLATE.py and EXAMPLE.py are mostly just shells of a plugin to work off of. They contain useful tutorial comments.
  • zombie.py is a fun test plugin that leaves behind undead versions of people when killed by undead mobs.
  • speedboost.py gives everyone a speedboost when someone dies - similar to survival games.
  • poll.py allows players to vote for certain things on the server. It isn't very up-to-date at the moment, however.
  • Essentials is a plugin loosely based off of Essentials for Bukkit.
  • WorldEdit - is a plugin loosely based on the WorldEdit for Bukkit by sk89q
  • SmallBrother is a lightweight logging plugin based on the old Bukkit plugin, BigBrother
  • Open.py is a plugin that opens a window with nothing. This plugin was probably just a test plugin and may not work, but contains example code for accessing packets from the player api.

Tip:

If you want to see more error messages and other useful messages while developing plugins or debugging wrapper, look for the logging.json file and make changes to the "console" section:

...
        "console": {
            "stream": "ext://sys.stdout",
            "formatter": "standard",
            "class": "logging.StreamHandler",
            "filters": [
                "plugin"
            ],
            "level": "INFO" <-- Set to DEBUG for more detailed output
        },
...



1 - The old stable branch "master", version 0.7.6, build 83 has now been archived in the "Original" branch. The original version only supports minecraft versions up to 1.8.

2 - Using wrapper means you also accept the EULA, which will be set to true in the eula.txt file in your server folder.

3 - The original Event list (Wrapper version 0.7.6) -

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].