Difference between revisions of "Main Page"

From wiki.vg
Jump to navigation Jump to search
(Undo revision 3311 by CarlenamWolf (talk))
 
m
(47 intermediate revisions by 29 users not shown)
Line 1: Line 1:
__NOTOC__
+
__NOTOC____NOEDITSECTION__
Welcome to the Minecraft Coalition wiki! Thanks to the #mcdevs community on irc.freenode.net.
+
{{Box|
 +
BORDER = #9999FF|
 +
BACKGROUND = #99CCFF|
 +
WIDTH = 100%|
 +
ICON = |
 +
HEADING = Minecraft Modern |
 +
CONTENT = 
 +
[[File:Banner beta.png|link=Category:Minecraft Modern]]
  
'''As spam prevention, you must register and confirm your email address to edit pages.'''
+
''Minecraft'' Modern (officially ''Minecraft: Java Edition'') is one of the two updated versions of Minecraft which require 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.
  
Consult the [http://meta.wikimedia.org/wiki/Help:Contents User's Guide] for information on using the wiki software.
+
=== Documentation ===
 +
There are ongoing efforts to keep reverse engineered documentation updated, but it isn't as easy as it sounds. The protocol generally changes slightly 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 completely up to date'''.
  
== Start Here ==
+
* [[Protocol FAQ]]
===I want to write my own XYZ program, where do I start?===
+
** [[Protocol FAQ#What's the normal login sequence for a client?|Normal login sequence for a client]]
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.
+
* [[Protocol|Current Protocol Specification]]
 +
** [[Protocol Encryption]]
 +
** [[Server List Ping]] documentation
 +
** [[Protocol version numbers]]
 +
** [[Plugin channels]]
 +
** [[Protocol History]]
 +
* [[Pre-release protocol|Pre-release Protocol Specificaton]]
 +
* [[Entity metadata]]
 +
* [[Entity statuses]]
 +
* [[Authentication|Mojang Authentication Scheme]]
 +
* [[Microsoft_Authentication_Scheme|New Microsoft Authentication Scheme]]
 +
* [[Mojang API]]
 +
* [[Data Generators]]
 +
* [[Game Files|Location of Game Files]]
 +
* [[Map Format]] (See also: mirror of the old [[NBT]].txt)
 +
* [[Snoop|Snoop Mechanism]]
 +
* [[Realms API]]
 +
* [[Rcon]] and [[Query]] protocol specifications
 +
* [[Debugging]]
  
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.
+
=== Tools & Mods ===
 +
* [[Client List|Clients]] - third-party Minecraft clients.
 +
* [[Server List|Servers]] - third-party Minecraft servers.
 +
* [[Library List|Libraries]] - libraries to interface with Minecraft data files or network protocols.
 +
* [[Utility List|Utilities]] - tools that interface with a client, server, or data files, such as proxies, bots, or inventory editors.
 +
* [[Wrapper List|Wrappers]] - mods that override features in the client or server
 +
* [[Java Edition Cheats|Cheats]] - mods that allow you to cheat (bannable on servers)
 +
* [https://github.com/mcdevs/Burger/ Burger] - a tool that generates information for arbitrary Minecraft versions
 +
:* [[User:Pokechu22|Pokechu22]]'s [https://github.com/Pokechu22/Burger/tree/1.13-fixes fork] that contains fixes for 1.13
 +
:* [http://b.wiki.vg/ Burger Vitrine] - shows differences in data and protocol between arbitrary versions (prior to 1.7).
 +
:* [https://github.com/Matsv/PAaaS PAaaS] - shows differences in protocol and sounds for newer versions (1.8 and above)
 +
* [[Code Snippets]]
  
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.
+
=== Tutorials & Guides ===
 +
* [[How to Write a Client]]
 +
* [[How to Write a Server]]
 +
* [[Chat|How Chat Works]]
  
===The wiki is WRONG!!!===
+
For more info, check out [[:Category:Minecraft Modern|Minecraft Modern]].
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.
+
{{Box|
 +
BORDER = #9999FF|
 +
BACKGROUND = #99CCFF|
 +
WIDTH = 100%|
 +
ICON = |
 +
HEADING = Minecraft : Bedrock Edition |
 +
CONTENT =
 +
[[File:Mcbe_banner.png|link=Category: Bedrock Minecraft]]
  
If so, by making use of this site, you owe it to the community to contribute fixes and documentation enhancements back.
+
''Minecraft: Bedrock Edition'' is the multi-platform version of Minecraft.<br>
 +
It is available for mobile, Xbox One, Nintendo Switch, and various other platforms.<br>
  
Remember, this wiki is a volunteer effort. Treat the people who contribute to it with respect.
+
=== Documentation ===
 +
* [[Bedrock_Protocol|Current Protocol Specification]] - note that this is very WIP and many aspects may be incorrect. The [[Raknet Protocol]] is also not fully documented.
 +
** [[Bedrock Protocol version numbers|Bedrock version numbers]]
 +
* [[Bedrock_Edition_Cheats|Bedrock Edition Cheats]] - note this page is WIP
 +
 
 +
=== Tools ===
 +
Useful information & links
 +
* [[Bedrock Edition Program List|Program list]] - third-party BE programs
  
Also, the wiki is out of date a lot.  Check "Recent changes" and "Discussion" pages for more info.
+
For more info, see [[:Category:Bedrock Minecraft|Bedrock Minecraft]].
  
== Modern ==
+
}}
[[File:Banner beta.png|link=Category:Minecraft Modern]]
+
 
 +
{{Box|
 +
BORDER = #9999FF|
 +
BACKGROUND = #99CCFF|
 +
WIDTH = 100%|
 +
ICON = |
 +
HEADING = Minecraft: Pocket Edition |
 +
CONTENT =
 +
[[File:Banner_pocket.png|link=Category:Pocket Minecraft]]
  
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.
+
The documentation of the "Pocket Edition" version, which is the old name for Bedrock Edition on mobile devices.
  
 
=== Documentation ===
 
=== 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'''.
+
The protocol and map format documentation for Minecraft: Pocket Edition.
* [[Protocol|Protocol Spec]]
+
* [[Pocket Minecraft Protocol|Old Protocol Specification]] (This protocol information is considered outdated, but still contains useful information)
* [[Pre-release protocol|Pre-release Protocol Spec]]
+
* [[Pocket Edition Protocol Documentation|The current Protocol docs]]
* [[Rcon]] and [[Query]] protocols
+
* [[Pocket Edition FAQ|FAQ]]
* [[Chat|How Chat Works]]
+
* [[Pocket Edition Login|Login Procedure]]
* [[Protocol FAQ]]
+
* [[Pocket Realms|Pocket Realms]]
* [[Authentication|Authentication Scheme]]
+
* [[Pocket Minecraft Map Format|Map Format]]
* [[Protocol Encryption]]
 
* [[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.
 
  
=== Source Code & Snippets ===
+
=== Tools ===
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.
+
Useful information & links
* [[Chunk_data_decompressing_(Zlib)|Chunk data decompressing using Zlib]], a small snippet showing how to use Zlib to decompress the chunk data sent by 0x33 packets.
+
* [[Pocket Edition Program List|Program list]] - third-party PE programs
* [[:Code Snippets|More...]]
 
 
 
=== Tools and Mods ===
 
* [[Client List|Clients]] - third-party Minecraft clients.
 
* [[Server List|Servers]] - third-party Minecraft servers.
 
* [[Library List|Libraries]] - libraries to interface with Minecraft data files or network protocols.
 
* [[Utility List|Utilities]] - tools that interface with a client, server, or data files, such as proxies, bots, or inventory editors.
 
* [[Wrapper List|Wrappers]] - mods that override features in the client or server
 
  
=== Tutorials ===
+
For more info, see [[:Category:Pocket Minecraft|Pocket Minecraft]].
* [[How to Write a Client]]
 
  
For more info, check out [[:Category:Minecraft Modern|Minecraft Modern]].
+
}}
  
== Classic ==
+
{{Box|
 +
BORDER = #9999FF|
 +
BACKGROUND = #99CCFF|
 +
WIDTH = 100%|
 +
ICON = |
 +
HEADING = Minecraft Classic |
 +
CONTENT =
 
[[File:Banner classic.png|link=Category:Minecraft Classic]]
 
[[File:Banner classic.png|link=Category:Minecraft 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.
+
''Minecraft Classic'' is the original version of ''Minecraft'', available for free to the public. It is still played by many people, with an active development community. As it's been around since 2010, and because it is very simple, there are many programs made to work with Classic.
  
 
=== Documentation ===
 
=== 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.
 
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.
 
* [[Classic Protocol|Protocol Specification]]
 
* [[Classic Protocol|Protocol Specification]]
 +
* [[Classic Protocol Extension|Extension Protocol Specification]]
 
* [[Classic DAT Format|Server Map Format (.dat)]]
 
* [[Classic DAT Format|Server Map Format (.dat)]]
 
* [[MCLevel Format|Saved Level Format (.mclevel)]]
 
* [[MCLevel Format|Saved Level Format (.mclevel)]]
 +
* [[ClassicWorld file format|ClassicWorld Format (.cw)]]
  
 
=== Source Code Snippets ===
 
=== 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.
 
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 ([[deserialize.c|C]], [[deserialize.cs|C#]])
+
* Deserializing the level.dat file format ([[deserialize.c|C]], [https://gist.github.com/324122945a569a513bae C#])
 
* [[:Category:Code Snippets|More...]]
 
* [[:Category:Code Snippets|More...]]
  
Line 83: Line 142:
 
* [[Classic Wrapper List|Wrappers]] - mods that override features in the client or server.
 
* [[Classic Wrapper List|Wrappers]] - mods that override features in the client or server.
  
For more info, check out [[:Category:Minecraft Classic|Minecraft Classic]].
+
For more info, see [[:Category:Minecraft Classic|Minecraft Classic]].
 
+
}}
== Pocket ==
 
[[File:Banner pocket.png|link=Category:Pocket Minecraft]]
 
 
 
Pocket Minecraft is the version of Minecraft for portable systems such as Android or iOS devices. It currently has very little documentation.
 
 
 
=== Documentation ===
 
The documentation for Pocket Minecraft is currently lacking and needs improvement.
 
* [[Pocket Minecraft Protocol|Protocol Specification]]
 
* [[Pocket Minecraft Map Format|Map Format]]
 
 
 
=== Tools ===
 
Useful information & links
 
* [[Pocket Edition Program List|Program list]] - third-party PE programs
 
 
 
For more info, check out [[:Category:Pocket Minecraft|Pocket Minecraft]].
 
 
 
== Other Locally Hosted Resources ==
 
If you need hosting or mirroring, drop the [[User:Kev009|hostmaster]] a note.
 
* [http://mc.kev009.com/libevent/ libevent2 doxygen, up to date]
 
* [http://mc.kev009.com/nbt/ NBT test files (archived)]
 
* [[Craftd:Main_Page|craftd Minecraft Server]]
 
* [[Realcraft:Main_Page|Realcraft Minecraft Server]]
 

Revision as of 22:20, 9 January 2021

Minecraft Modern

Banner beta.png

Minecraft Modern (officially Minecraft: Java Edition) is one of the two updated versions of Minecraft which require 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 slightly 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 completely up to date.

Tools & 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
  • Cheats - mods that allow you to cheat (bannable on servers)
  • Burger - a tool that generates information for arbitrary Minecraft versions
  • Pokechu22's fork that contains fixes for 1.13
  • Burger Vitrine - shows differences in data and protocol between arbitrary versions (prior to 1.7).
  • PAaaS - shows differences in protocol and sounds for newer versions (1.8 and above)

Tutorials & Guides

For more info, check out Minecraft Modern.

Minecraft : Bedrock Edition

Mcbe banner.png

Minecraft: Bedrock Edition is the multi-platform version of Minecraft.
It is available for mobile, Xbox One, Nintendo Switch, and various other platforms.

Documentation

Tools

Useful information & links

For more info, see Bedrock Minecraft.

Minecraft: Pocket Edition

Banner pocket.png

The documentation of the "Pocket Edition" version, which is the old name for Bedrock Edition on mobile devices.

Documentation

The protocol and map format documentation for Minecraft: Pocket Edition.

Tools

Useful information & links

For more info, see Pocket Minecraft.

Minecraft Classic

Banner classic.png

Minecraft Classic is the original version of Minecraft, available for free to the public. It is still played by many people, with an active development community. As it's been around since 2010, and because it is very simple, there are many programs made to work with Classic.

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#)
  • 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, see Minecraft Classic.