Skip to content

Latest commit

 

History

34 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Falcon
Falcon Network
Minecraft: Bedrock Edition transport layer written in C++17

Minecraft C++17 Platform

What is this?

Everything between the socket and a decoded Bedrock packet. It is the transport layer of Falcon and builds on top of Protocol.

  • RakNet - own implementation of the peer, sockets, bit stream, reliability layer and connection handshake
  • NetherNet - WebRTC transport through libdatachannel, with the signaling server and LAN discovery
  • Peers - batching and compression layers stacked on top of the raw transport, behind a common NetworkPeer interface
  • Connection requests - parsing of the client login JWT (identity, skin, device)
  • Server locator - the pong data advertised to the server list

Usage

The library is a plain CMake target named FalconNetwork. When it is built on its own, it fetches Protocol and libdatachannel automatically:

include(FetchContent)

FetchContent_Declare(
    falcon_network
    GIT_REPOSITORY https://github.com/Falcon-MC/Network.git
    GIT_TAG main
    GIT_SHALLOW TRUE
)
FetchContent_MakeAvailable(falcon_network)

target_link_libraries(your_target PRIVATE FalconNetwork)

Building

Requires CMake 3.16+, a C++17 compiler, zlib and OpenSSL. The first configure needs network access to fetch the dependencies.

cmake -B build -G Ninja
cmake --build build

Related repositories

  • Falcon - the server
  • Protocol - packets and network types
  • NBT - NBT tags and binary streams
  • BedrockData - game data files, versioned by protocol

Licensing information

Falcon Network is licensed under the GNU Lesser General Public License v3.0, which supplements the GNU General Public License v3.0. It can be linked from projects under any license, as long as changes to this library itself stay under the same license.

Falcon is not affiliated with Mojang. All brands and trademarks belong to their respective owners.

About

Transport layer for Falcon

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages