Minecraft World Checker

Github Project Stars Travis CI build status CircleCI build status Documentation Status Github Issue Tracking Github LatestRelease CodeFactor microbadger image version docker stars docker pulls pypi.org version

A Small Tool for rescue and maintenance your Minecraft Worlds, insperated by Fenixin/Minecraft-Region-Fixer, optimized for commandline usage, and integration into a Backup and Recovery Process. Using twoolie/NBT a Python Parser/Writer for the NBT file format, for reading and fixing the World Data Files.

For more informations take a look to the Documentation.

Features

  • Scanning Region Files, for to many Entities, corrupted or wrong located Chunks. (repairing planed)

  • Saving the Report as YAML, for later usage.

  • Different commandline output formats.

    • YAML, for Script usage.

    • COMMANDLINE, as Human readable commandline Report.

  • Configurable over Command Line Parameters (using click), or Config File (using anyconfig)(planed).

Supported Systems

For executing you need Python 3.5 or later, or you use the Preconfigured Docker Container from DockerHub. Tested with a Minecraft 1.13.2 World.

Using as Python CLI

This Tool are published at pypi.org, and be install with pip. It is recommendet to use a virtualenv to avoid any Dependency correlations.

pip install mcworldmanager

Using as Container

The Container is based on python:3.7-alpine, and automatical build on DockerHub.

docker run -it \
  --user=${UID}:$(id -g $(whoami)) \
  -w /tmp/worlds \
  -v /tmp/worlds:/tmp/worlds \
  nolte/minecraft-world-manager:latest -v worlds /tmp/worlds
_images/region-valid-faild.gif

Getting Started

Usage

mcworldmanager

Console script for mcworldmanager.

mcworldmanager [OPTIONS] COMMAND [ARGS]...

Options

-v, --verbose

Print debug information

-o, --output_format <output_format>

Define the STDout Output format

Options

YAML|COMMANDLINE

-r, --report_path <report_path>

Path for the Report in Yaml Format

--debug-file <debug_file>

File to be used as a stream for DEBUG logging

region

Analyse a single minecraft region file like r.-1.-2.mca

mcworldmanager region [OPTIONS] REGION_FILE_PATH

Arguments

REGION_FILE_PATH

Required argument

server

Analyse a all Worlds in a Server Directories

mcworldmanager server [OPTIONS] SERVER_DIRECTORY

Arguments

SERVER_DIRECTORY

Required argument

version

Display the current version.

mcworldmanager version [OPTIONS]
worlds

Analyse a List of World Directories

mcworldmanager worlds [OPTIONS] [WORLDS_DIRECTORIES]...

Arguments

WORLDS_DIRECTORIES

Optional argument(s)

Container Usage

For easy and quickly usage you can use the Dockerfile from Dockerhub.

docker pull nolte/minecraft-world-manager:v0.2.0.dev

For wrapping the tool, and checkout to your local FS it is required that you define some additional Container Run Parameters.

execute world check
docker run -it \
  --user=${UID}:$(id -g $(whoami)) \
  -w /tmp/worlds \
  -v /tmp/worlds:/tmp/worlds \
  nolte/minecraft-world-manager:v0.2.0.dev -v worlds /tmp/worlds

Container Run Parameters

--user ${UID}:$(id -g $(whoami))

The Container User will mapped to your user and group from the Host System, see User.

-w /tmp/worlds

The Container Workingdir.

-v /tmp/worlds:/tmp/worlds

Some Folder mounted to your Host System, used as scanning base folder.

[mcworldmanager command]

Using the mcworldmanager commandline parameters.

Indices and tables