minero-go

module
v0.0.0-...-93368d4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 10, 2015 License: MIT

README

IMPORTANT NOTE

GoDoc

Project is NOT ACTIVE anymore until further notice.

  • Why? I have less time now to tinker with this project also Mojang is taking like forever to remake Minecraft properly from scratch so there are piles and piles of shit in the server code I must reimplement again and I refuse to do that.
  • Will that change? If they remake the game properly I'll continue with minero.

If you want to contact me you can try any of these:

  1. Create a new issue here
  2. Drop me an email on: toqueteos at gmail dot com.

If you are still interested in Go + Minecraft check this out: http://github.com/NetherrackDev

Minero

Minero is an implementation of the Multiplayer Server for Minecraft made in Go. It aims to fully support Minecraft 1.5.1 version.

It is licensed under the MIT open source license, please read the LICENSE.txt file for more information.

Requirements

Just Go, also Git (encouraged) if you want to use go get.

More specifically aimed for: go version go1.0.3.

You can check your Go version typing go version on the terminal. If it outputs an error you don't have Go installed.

Go to Go's install page Download the Go tools section and follow the instructions.

NOTE: It should work with newer versions of Go, go1.1.1 right now.

Features

  • Basic data types support (bool, byte, short, int, long, float, double and string). See types, types/nbt and types/minecraft.
  • NBT v19133 support.
  • Proxy with logging support available.
  • Server list ping client & server (ping other servers, fake a server).

NOTE: Right now the server allows client to log in, move and do most actions but any changes on map aren't saved.

Tools

  • Minero server: bin/minero

      go get github.com/minero/minero/bin/minero
    
  • NBT pretty printer: bin/minbtd

      go get github.com/minero/minero/bin/minbtd
    
  • Server proxy with logging support: bin/miproxy

      go get github.com/minero/minero/bin/miproxy
    
  • Server list ping client & server: bin/mipingd

      go get github.com/minero/minero/bin/mipingd
    

Notes

Everything can be go-get'd.

Directories

Path Synopsis
bin
minbtd
NBT pretty printer.
NBT pretty printer.
minero
Minecraft Server implementation in Go.
Minecraft Server implementation in Go.
mipingd
Server list ping client & server.
Server list ping client & server.
miproxy
Server proxy and play session log recorder.
Server proxy and play session log recorder.
Package chat defines color and format codes and a set of helper functions.
Package chat defines color and format codes and a set of helper functions.
Package cmd provides an easily extendable interface to work with chat commands.
Package cmd provides an easily extendable interface to work with chat commands.
Package config defines a parser and a handler for minero's simple configuration file format.
Package config defines a parser and a handler for minero's simple configuration file format.
Package constants defines server-wide constants such as: latest NMS supported version.
Package constants defines server-wide constants such as: latest NMS supported version.
block/action
Package action is used with packet BlockAction (0x36).
Package action is used with packet BlockAction (0x36).
block/direction
Package direction is used with packet PlayerAction (0x0E).
Package direction is used with packet PlayerAction (0x0E).
entity/status
Package status is used with packet Entity Status (0x26).
Package status is used with packet Entity Status (0x26).
game/difficulty
Package difficulty defines all available game difficulty levels.
Package difficulty defines all available game difficulty levels.
game/dimension
Package dimension defines official Minecraft and custom dimensions.
Package dimension defines official Minecraft and custom dimensions.
game/gamemode
Package gamemode defines all available game modes and some utility functions.
Package gamemode defines all available game modes and some utility functions.
inventory
Package inventory defines inventory types and utility functions.
Package inventory defines inventory types and utility functions.
Package id implementes an entity id generator.
Package id implementes an entity id generator.
Package material defines all blocks and items and some utiliy functions.
Package material defines all blocks and items and some utiliy functions.
proto
auth
Package auth implements functions to deal with x.509 & RSA crypto.
Package auth implements functions to deal with x.509 & RSA crypto.
nbt
Package nbt implements NBT read/write file support.
Package nbt implements NBT read/write file support.
packet
Package packet implements all packets of Minecraft Protocol.
Package packet implements all packets of Minecraft Protocol.
ping
Package ping implements server list ping of Minecraft Protocol.
Package ping implements server list ping of Minecraft Protocol.
Package server implements minero's server behavior.
Package server implements minero's server behavior.
list/players
Package players implements a goroutine-safe player list.
Package players implements a goroutine-safe player list.
list/tickers
Package tickers implements a goroutine-safe ticker list.
Package tickers implements a goroutine-safe ticker list.
player
Package player implements player entities for a minero server.
Package player implements player entities for a minero server.
tick
Package tick a basic interface to work with tick events.
Package tick a basic interface to work with tick events.
Common types for Minecraft Protocol and NBT.
Common types for Minecraft Protocol and NBT.
minecraft
Minecraft Protocol custom types.
Minecraft Protocol custom types.
nbt
NBT custom types.
NBT custom types.
Package util defines utility functions.
Package util defines utility functions.
abs
Defines absolute to real and viceversa position and look translators.
Defines absolute to real and viceversa position and look translators.
crypto/cfb8
Based on crypto/cipher's StreamReader and StreamWriter.
Based on crypto/cipher's StreamReader and StreamWriter.
iodebug
Package iodebug implements an io debugging Reader and Writer.
Package iodebug implements an io debugging Reader and Writer.
must
Package must defines fail-fast smart error handlers.
Package must defines fail-fast smart error handlers.
noise/simplex
Simplex noise in 2D, 3D and 4D. Useful for world generation.
Simplex noise in 2D, 3D and 4D. Useful for world generation.
uuid
Package UUID implements UUIDv4 based on RFC 4122.
Package UUID implements UUIDv4 based on RFC 4122.
cmd

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL