Go to file
ptrcnull 055aa370f0 * separate send_packet and unhex functions 2022-02-16 22:47:21 +01:00
demos * separate send_packet and unhex functions 2022-02-16 22:47:21 +01:00
src * separate send_packet and unhex functions 2022-02-16 22:47:21 +01:00
Dockerfile + docker support 2022-02-14 01:54:54 +01:00
README.md + README 2022-02-14 12:37:45 +01:00
icon.png + work so far 2022-02-09 03:58:56 +01:00
launch.sh + docker support 2022-02-14 01:54:54 +01:00
mc.sh * separate send_packet and unhex functions 2022-02-16 22:47:21 +01:00

README.md

Witchcraft - a Minecraft server, written in Bash

Requires busybox 1.35.0 or later (crashes on 1.34, for some reason), bash, gnu grep, gnu sed and nmap-ncat. Grep was actually only used once, so maybe I could make it work with the bb one?

How to use

To get the "plain" experience:

./launch.sh

If it doesn't work (tested only on Alpine Edge), go for the docker route:

docker build -t witchcraft .
docker run --rm -it -p25565:25565 witchcraft ./launch.sh

The above would launch the basic server without any plugins. You should check out the digmeout demo tho, it's kinda addictive:

./launch.sh demos/digmeout.sh

What works

  • joining the game
  • chat
  • hooks (you can write your own.. plugins? check out demos/)
  • breaking blocks, to some extent
  • serializing and sending chunks
  • sending effects
  • possibly more

What does not

  • multiple players (server tries to send the movement packets, but I haven't finished it)
  • breaking blocks with tools (client acts as if there isn't a tool in your hand)
  • capitalism (IRL; I wouldn't want to try implementing it here)