User:ProcrastinatingReader/Bukkit

Bukkit was an open-source server mod for Minecraft. Bukkit was written in Java, the same programming language as Minecraft.

Background
Minecraft is a sandbox video game with a client-server architecture. This encouraged players to reverse engineer the code. Consequently, the game's protocol became extensively documented leading to the establishment of a modding community. Bukkit was one of the most popular server mods, providing an API ("the Bukkit API") for developers to write server plugins. Plugins could be notified of events that occurred in the server, such as player movement and placing blocks.

Mojang developed and maintained the Minecraft server code, which was considered proprietary software with all rights reserved. CraftBukkit was effectively a series of patches to that code to allow for events received by the server to be processed and sent onto plugins, and to influence the world by taking actions. CraftBukkit was redistributed as a full JAR file which included Mojang's proprietary code as well as their own. Mojang initially did not enforce its copyrights or take any legal action against Bukkit.

Design
To function, Bukkit plugins had to be hosted on a modified version of the original Minecraft server. This was a separate modification called "CraftBukkit", which implemented the Bukkit API. Both projects were developed by the same development team.

Impact

 * https://ieeexplore.ieee.org/abstract/document/6329841
 * https://books.google.co.uk/books?id=uiHlCwAAQBAJ
 * https://link.springer.com/article/10.1007/s10664-020-09840-9

Other:
 * https://ieeexplore.ieee.org/abstract/document/6820617
 * https://books.google.co.uk/books?id=Aa0wBQAAQBAJ
 * https://www.taylorfrancis.com/chapters/edit/10.4324/9781315637525-49/persson-minecraft-lori-landay
 * https://madelinemiller.dev/blog/decade-of-minecraft-multiplayer/