Difference between revisions of "Main Page"

From wiki.vg
Jump to navigation Jump to search
m (Re-arranging Modern Minecraft.)
m (Undo revision 19370 by Bentadomod (talk))
Tag: Undo
 
(79 intermediate revisions by 48 users not shown)
Line 1: Line 1:
__NOTOC__
+
__NOTOC____NOEDITSECTION__
Welcome to the #mcdevs wiki! The wiki is primarily curated by the [irc://irc.freenode.net/mcdevs #mcdevs] community on [http://freenode.net/ Freenode].
+
{{Box|
 
+
BORDER = #9999FF|
== Minecraft Modern ==
+
BACKGROUND = #99CCFF|
 +
WIDTH = 100%|
 +
ICON = |
 +
HEADING = Minecraft Modern |
 +
CONTENT =
 
[[File:Banner beta.png|link=Category:Minecraft Modern]]
 
[[File:Banner beta.png|link=Category:Minecraft 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.
+
''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 ===
 
=== 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 up to date'''.
+
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'''.
  
 +
==== Protocol ====
 
* [[Protocol FAQ]]
 
* [[Protocol FAQ]]
 +
** [[Protocol FAQ#What's the normal login sequence for a client?|Normal login sequence for a client]]
 +
** [[Protocol FAQ#What does the normal status ping sequence look like?|Normal ping sequence to a server]]
 
* [[Protocol|Current Protocol Specification]]
 
* [[Protocol|Current Protocol Specification]]
* [[Pre-release protocol|Pre-release Protocol Specificaton]]
+
** [[Data types]]
 +
** [[Server List Ping]]
 +
** [[Protocol Encryption]]
 +
** [[Plugin channels]]
 +
** [[Registry Data]]
 +
** [[Command Data]]
 +
** [[Chat]]
 +
** [[Inventory]]
 +
** [[Slot Data]]
 +
** [[Chunk Format]]
 +
** [[Block Actions]]
 +
** [[Object Data]]
 +
** [[Entity metadata]]
 +
** [[Entity statuses]]
 +
** [[Particles]]
 +
* [[Pre-release protocol|Pre-release Protocol Specification]]
 +
* [[Protocol version numbers]]
 +
* [[Protocol History]]
 +
* [[Proxies]]
 +
* [[Minecraft Forge Handshake|Minecraft Forge Handshake Specification]]
 +
==== Mojang APIs ====
 +
* Authentication
 +
** [[Microsoft Authentication Scheme|Microsoft Authentication Scheme]]
 +
** [[Legacy Mojang Authentication|Legacy Mojang Authentication Scheme]]
 +
** [[Legacy Minecraft Authentication|Legacy Minecraft Authentication Scheme]]
 +
* [[Mojang API]]
 +
* [[Game files]]
 +
* [[Realms API]]
 +
* [[Snoop]]
 +
==== Map Format ====
 +
* [[Map Format|Map Format Specification]]
 +
** [[Region Files]]
 +
==== Notchian Implementation ====
 +
* [[Launching the game]]
 +
* [[Debugging]]
 +
* [[Data Generators]]
 +
==== Miscellaneous ====
 +
* [[NBT]]
 +
* [[Text formatting]]
 
* [[Rcon]] and [[Query]] protocol specifications
 
* [[Rcon]] and [[Query]] protocol specifications
* [[Authentication|Authentication Scheme]]
 
* [[Protocol Encryption]]
 
* [[Map Format]] (See also: mirror of the old [[NBT]].txt)
 
  
 
=== Tools & Mods ===
 
=== Tools & Mods ===
* [[Client List|Clients]] - third-party Minecraft clients.
+
* [[Client List|Clients]] - third-party Minecraft clients
* [[Server List|Servers]] - third-party Minecraft servers.
+
* [[Server List|Servers]] - third-party Minecraft servers
* [[Library List|Libraries]] - libraries to interface with Minecraft data files or network protocols.
+
* [[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.
+
* [[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
 
* [[Wrapper List|Wrappers]] - mods that override features in the client or server
* [http://b.wiki.vg/ Burger Vitrine] shows differences in data and protocol between arbitrary versions.
+
* [[Generator List|Generators]] - tools that extract data from Mojang to a readable format
* [[:Code Snippets]]
+
* [[Decompiler List|Decompilers]] - tools for decompiling Minecraft
 +
* [[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 fork] - where new version development is mostly done
 +
** [https://pokechu22.github.io/BurgerWebViewer/ Burger Vitrine] - shows differences in data and protocol between arbitrary versions
 +
** [https://github.com/Matsv/PAaaS PAaaS] - shows differences in protocol and sounds for newer versions (1.8 and above)
 +
* [[Code Snippets]]
  
 
=== Tutorials & Guides ===
 
=== Tutorials & Guides ===
 
* [[How to Write a Client]]
 
* [[How to Write a Client]]
* [[Chat|How Chat Works]]
+
* [[How to Write a Server]]
 +
* [[Dev-focused Blog Articles]]
 +
 
 +
=== Communities ===
 +
* [https://discord.gg/Tf4xwK3Ke7 Minecraft Protocol] (via Discord)
  
 
For more info, check out [[:Category:Minecraft Modern|Minecraft Modern]].
 
For more info, check out [[:Category:Minecraft Modern|Minecraft Modern]].
 +
}}
  
== Minecraft Classic ==
+
{{Box|
[[File:Banner classic.png|link=Category:Minecraft Classic]]
+
BORDER = #9999FF|
 +
BACKGROUND = #99CCFF|
 +
WIDTH = 100%|
 +
ICON = |
 +
HEADING = Minecraft: Bedrock Edition |
 +
CONTENT =  
 +
[[File:Mcbe_banner.png|link=Category: Bedrock Minecraft]]
  
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: Bedrock Edition'' is the multi-platform version of Minecraft.<br>
 +
It is available for mobile, Xbox One, Nintendo Switch, and various other platforms.<br>
  
 
=== 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.
+
* [[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.
* [[Classic Protocol|Protocol Specification]]
+
** [[Bedrock Protocol version numbers|Bedrock version numbers]]
* [[Classic DAT Format|Server Map Format (.dat)]]
+
** [[Bedrock Edition level format]]
* [[MCLevel Format|Saved Level Format (.mclevel)]]
 
  
=== 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
* Deserializing the level.dat file format ([[deserialize.c|C]], [https://gist.github.com/324122945a569a513bae C#])
+
* [[Bedrock Edition Program List|Program list]] - third-party BE programs
* [[:Category:Code Snippets|More...]]
+
* [[Bedrock_Edition_Cheats|Bedrock Edition Cheats]] - note this page is WIP
  
=== Tools and Mods ===
+
For more info, see [[:Category:Bedrock Minecraft|Bedrock Minecraft]].
Useful information & links
 
* [[Classic Client List|Clients]] - third-party Classic clients.
 
* [[Classic Server List|Servers]] - third-party Classic servers.
 
* [[Classic Library List|Libraries]] - libraries to interface with Minecraft data files or network protocols.
 
* [[Classic Utility List|Utilities]] - tools that interface with a client, server, or data files, such as proxies or bots.
 
* [[Classic Wrapper List|Wrappers]] - mods that override features in the client or server.
 
  
For more info, check out [[:Category:Minecraft Classic|Minecraft Classic]].
+
}}
  
== Minecraft Pocket Edition ==
+
{{Box|
[[File:Banner pocket.png|link=Category:Pocket Minecraft]]
+
BORDER = #9999FF|
 +
BACKGROUND = #99CCFF|
 +
WIDTH = 100%|
 +
ICON = |
 +
HEADING = Minecraft: Pocket Edition |
 +
CONTENT =
 +
[[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.
+
Pocket Minecraft (or ''Minecraft: Pocket Edition'') was the prior version of Minecraft for mobile devices.<br>
 +
It was replaced by Minecraft Bedrock on November 18, 2016.<br>
  
 
=== Documentation ===
 
=== Documentation ===
The documentation for Pocket Minecraft is currently lacking and needs improvement.
+
The protocol and map format documentation for Minecraft: Pocket Edition.
* [[Pocket Minecraft Protocol|Protocol Specification]]
+
* [[Pocket Edition Protocol Documentation|The current Protocol docs]]
 +
* [[Pocket Minecraft Protocol|Old Protocol Specification]] (This protocol information is considered outdated, but still contains useful information)
 
* [[Pocket Edition FAQ|FAQ]]
 
* [[Pocket Edition FAQ|FAQ]]
 +
* [[Pocket Edition Login|Login Procedure]]
 +
* [[Pocket Realms|Pocket Realms]]
 
* [[Pocket Minecraft Map Format|Map Format]]
 
* [[Pocket Minecraft Map Format|Map Format]]
  
Line 74: Line 137:
 
* [[Pocket Edition Program List|Program list]] - third-party PE programs
 
* [[Pocket Edition Program List|Program list]] - third-party PE programs
  
For more info, check out [[:Category:Pocket Minecraft|Pocket Minecraft]].
+
For more info, see [[:Category:Pocket Minecraft|Pocket Minecraft]].
 +
 
 +
}}
 +
 
 +
{{Box|
 +
BORDER = #9999FF|
 +
BACKGROUND = #99CCFF|
 +
WIDTH = 100%|
 +
ICON = |
 +
HEADING = Minecraft Classic |
 +
CONTENT = 
 +
[[File:Banner classic.png|link=Category:Minecraft Classic]]
 +
 
 +
''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 2009, 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.
 +
* [[Classic Protocol|Protocol Specification]]
 +
* [[Classic Protocol Extension|Extension Protocol Specification]]
 +
* [[Classic DAT Format|Server Map Format (.dat)]]
 +
* [[MCLevel Format|Saved Level Format (.mclevel)]]
 +
* [[ClassicWorld file format|ClassicWorld Format (.cw)]]
 +
 
 +
=== 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 ([[deserialize.c|C]], [https://gist.github.com/324122945a569a513bae C#])
 +
* [[:Category:Code Snippets|More...]]
 +
 
 +
=== Tools and Mods ===
 +
Useful information & links
 +
* [[Classic Client List|Clients]] - third-party Classic clients
 +
* [[Classic Server List|Servers]] - third-party Classic servers
 +
* [[Classic Library List|Libraries]] - libraries to interface with Minecraft data files or network protocols
 +
* [[Classic Utility List|Utilities]] - tools that interface with a client, server, or data files, such as proxies or bots
 +
* [[Classic Wrapper List|Wrappers]] - mods that override features in the client or server
  
== Other Locally Hosted Resources ==
+
For more info, see [[:Category:Minecraft Classic|Minecraft Classic]].
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]]
 

Latest revision as of 11:58, 19 June 2024

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.

Protocol

Mojang APIs

Map Format

Notchian Implementation

Miscellaneous

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
  • Generators - tools that extract data from Mojang to a readable format
  • Decompilers - tools for decompiling Minecraft
  • Cheats - mods that allow you to cheat (bannable on servers)
  • Burger - a tool that generates information for arbitrary Minecraft versions
    • Pokechu22's fork - where new version development is mostly done
    • Burger Vitrine - shows differences in data and protocol between arbitrary versions
    • PAaaS - shows differences in protocol and sounds for newer versions (1.8 and above)
  • Code Snippets

Tutorials & Guides

Communities

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

Pocket Minecraft (or Minecraft: Pocket Edition) was the prior version of Minecraft for mobile devices.
It was replaced by Minecraft Bedrock on November 18, 2016.

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 2009, 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.