Skip to content

Repository files navigation

Fuzzing Cuberite

See implemented_serverbound_packets.md to see which packets we have implemented.

Development

Make sure to also pull the cuberite submodule (either pass --recurse-submodules to your git clone command or run git submodule update --init). Run make build-cuberite at the root directory to build Cuberite.

boofuzz Harnesses

Currently, all our code (including harnesses) is stored in the fuzzing directory.

Run make fuzz to run the fuzzer.

We use ruff for formatting and linting. You can run uvx pre-commit install to install the formatting and linting pre-commit hooks. Alternatively, you can run make format to do said formatting and linting manually.

Run make test to run our unit tests.

Bugs

  • There seems to be an issue with Cuberite not properly disconnecting players, leading to players being kicked due to the server being too full. We mitigated this by just increasing the max player count (see cuberite-config/settings.ini).
    • We noticed the cServer::m_Clients field properly reflects the number of connected players, but cServer::m_PlayerCount grows unbounded.
    • See: cuberite/cuberite#5640
  • An actual "packet of doom": cuberite/cuberite#5640

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages