Difference between revisions of "Main Page"
m (Added Protocol Encryption page to list) |
|||
Line 38: | Line 38: | ||
* [[Protocol FAQ]] | * [[Protocol FAQ]] | ||
* [[Authentication|Authentication Scheme]] | * [[Authentication|Authentication Scheme]] | ||
+ | * [[Protocol Encryption]] | ||
* [[Map Format]] (See also: mirror of the old [[NBT]].txt) | * [[Map Format]] (See also: mirror of the old [[NBT]].txt) | ||
* [http://b.wiki.vg/ Burger Vitrine] shows differences in data and protocol between arbitrary versions. | * [http://b.wiki.vg/ Burger Vitrine] shows differences in data and protocol between arbitrary versions. |
Revision as of 05:26, 7 August 2012
Welcome to the Minecraft Coalition wiki! Thanks to the #mcdevs community on irc.freenode.net.
As spam prevention, you must register and confirm your email address to edit pages.
Consult the User's Guide for information on using the wiki software.
Start Here
I want to write my own XYZ program, where do I start?
Custom Minecraft development is non-trivial and is not something to cut your teeth on with respect to programming. If you cannot answer the above question, you will likely not have a very fun time. You will also upset other people if you ask questions that demonstrate a lack of prerequisite knowledge, especially related to general software development strategy or use of the language of your choice.
Likewise, the Minecraft protocol and official client/server are widely criticized in both design and implementation. Dealing with these issues can be painful. Worst of all, if you don't have a solid development background you may unknowingly absorb these flaws into your own development strategy - both now and down the line on future projects.
In closing, first see if there is an existing project that you can contribute to. There are already a variety of mods, clients, servers, utilities and libraries that could use help - and not just related to coding.
The wiki is WRONG!!!
Are you 100% certain, and do you have a testcase to prove your assertion?
If not, many people have implemented projects using the information here and chances are you're doing something wrong.
If so, by making use of this site, you owe it to the community to contribute fixes and documentation enhancements back.
Remember, this wiki is a volunteer effort. Treat the people who contribute to it with respect.
Also, the wiki is out of date a lot. Check "Recent changes" and "Discussion" pages for more info.
Modern
Minecraft Modern is the latest (and only updated) version of Minecraft which requires a paid account to download, update and play. Most of the new development projects focus on either creating entirely new programs from scratch that interoperate with Minecraft (such as a bot or server) or modding projects that wrap the client or server and provide bug fixes, new features and enhancements to existing features.
Documentation
There are ongoing efforts to keep reverse engineered documentation updated, but it isn't as easy as it sounds. The protocol generally changes with each release, and both the Client and Server classes get rearranged on each release. Below are links to the current documentation segments, which may or may not be accurate.
- Protocol Spec
- Pre-release Protocol Spec
- Rcon and Query protocols
- How Chat Works
- Protocol FAQ
- Authentication Scheme
- Protocol Encryption
- Map Format (See also: mirror of the old NBT.txt)
- Burger Vitrine shows differences in data and protocol between arbitrary versions.
Source Code & Snippets
Source code snippets provide insight into how specific features work or can be accomplished, and by themselves are generally free to use in your own program.
- PHP and Python scripts to generate images & GIFs from minecraft skins.
- Chunk data decompressing using Zlib, a small snippet showing how to use Zlib to decompress the chunk data sent by 0x33 packets.
- More...
Tools and Mods
- Clients - third-party Minecraft clients.
- Servers - third-party Minecraft servers.
- Libraries - libraries to interface with Minecraft data files or network protocols.
- Utilities - tools that interface with a client, server, or data files, such as proxies, bots, or inventory editors.
- Wrappers - mods that override features in the client or server
Tutorials
For more info, check out Minecraft Modern.
Classic
Minecraft Classic is the original version of Minecraft, available for free to the public. It's still available off of the main website today and is still played by many people, with an active development community. As it's been around since 2010, and because it's so simplistic, there are many, many programs made to work with Classic - there are over 18+ servers alone, written in everything from C++ to PureBasic to Perl. It's highly recommend if you're planning to do a development project at this point to instead look into the Minecraft Modern specifications.
Documentation
As there is no longer any work being done on classic, the documentation for it is stable. If you create something that works with it, it probably always will.
Source Code Snippets
Source code snippets provide insight into how specific features work or can be accomplished, and by themselves are generally free to use in your own program.
- Deserializing the level.dat file format (C, C#)
- Skins.php, a script to generate a preview image from a Minecraft skin file (PHP).
- More...
Tools and Mods
Useful information & links
- Clients - third-party Classic clients.
- Servers - third-party Classic servers.
- Libraries - libraries to interface with Minecraft data files or network protocols.
- Utilities - tools that interface with a client, server, or data files, such as proxies or bots.
- Wrappers - mods that override features in the client or server.
For more info, check out Minecraft Classic.
Other Locally Hosted Resources
If you need hosting or mirroring, drop the hostmaster a note.