{"id":15033698,"url":"https://github.com/minestom/minestom","last_synced_at":"2026-10-19T01:03:05.738Z","repository":{"id":37023342,"uuid":"200378150","full_name":"Minestom/Minestom","owner":"Minestom","description":"26.2 Lightweight Minecraft server","archived":false,"fork":false,"pushed_at":"2026-10-11T09:43:40.000Z","size":414140,"stargazers_count":3305,"open_issues_count":178,"forks_count":516,"subscribers_count":39,"default_branch":"master","last_synced_at":"2026-10-13T17:20:50.024Z","etag":null,"topics":["java","minecraft","minecraft-api","minecraft-performance","minecraft-server","minestom","nio"],"latest_commit_sha":null,"homepage":"https://minestom.net","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Minestom.png","metadata":{"files":{"readme":".github/README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"claude":null,"gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null}},"created_at":"2019-08-03T13:22:27.000Z","updated_at":"2026-10-12T22:33:25.000Z","dependencies_parsed_at":"2026-10-03T21:22:51.297Z","dependency_job_id":null,"html_url":"https://github.com/Minestom/Minestom","commit_stats":{"total_commits":5311,"total_committers":165,"mean_commits":32.18787878787879,"dds":0.3515345509320279,"last_synced_commit":"bcb0301fb1c4649c4a4462774cdaa7c0bf3b3b40"},"previous_names":[],"tags_count":51,"template":false,"template_full_name":null,"purl":"pkg:github/Minestom/Minestom","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Minestom%2FMinestom","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Minestom%2FMinestom/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Minestom%2FMinestom/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Minestom%2FMinestom/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Minestom","download_url":"https://codeload.github.com/Minestom/Minestom/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Minestom%2FMinestom/sbom","scorecard":{"id":94665,"data":{"date":"2025-08-11","repo":{"name":"github.com/Minestom/Minestom","commit":"ac67d8f144a7601997ef61230cc016e222c095ac"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.9,"checks":[{"name":"Maintained","score":10,"reason":"30 commit(s) and 7 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":9,"reason":"Found 24/26 approved changesets -- score normalized to 9","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/build-main.yml:1","Warn: no topLevel permission defined: .github/workflows/build-pr.yml:1","Warn: no topLevel permission defined: .github/workflows/close_invalid_prs.yml:1","Warn: topLevel 'contents' permission set to 'write': .github/workflows/release.yml:5","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Binary-Artifacts","score":9,"reason":"binaries present in source code","details":["Warn: binary detected: gradle/wrapper/gradle-wrapper.jar:1"],"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build-main.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/Minestom/Minestom/build-main.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build-main.yml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/Minestom/Minestom/build-main.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build-main.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/Minestom/Minestom/build-main.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build-pr.yml:9: update your workflow using https://app.stepsecurity.io/secureworkflow/Minestom/Minestom/build-pr.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build-pr.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/Minestom/Minestom/build-pr.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build-pr.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/Minestom/Minestom/build-pr.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build-pr.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/Minestom/Minestom/build-pr.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build-pr.yml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/Minestom/Minestom/build-pr.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build-pr.yml:36: update your workflow using https://app.stepsecurity.io/secureworkflow/Minestom/Minestom/build-pr.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/close_invalid_prs.yml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/Minestom/Minestom/close_invalid_prs.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/close_invalid_prs.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/Minestom/Minestom/close_invalid_prs.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/Minestom/Minestom/release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/Minestom/Minestom/release.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/Minestom/Minestom/release.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:64: update your workflow using https://app.stepsecurity.io/secureworkflow/Minestom/Minestom/release.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:78: update your workflow using https://app.stepsecurity.io/secureworkflow/Minestom/Minestom/release.yml/master?enable=pin","Info:   0 out of   8 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   8 third-party GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/release.yml:7"],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-15T08:40:05.840Z","repository_id":37023342,"created_at":"2025-08-15T08:40:05.840Z","updated_at":"2025-08-15T08:40:05.840Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":344872684,"owners_count":38344170,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-10-03T21:59:58.778Z","status":"online","status_checked_at":"2026-10-18T02:00:06.448Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["java","minecraft","minecraft-api","minecraft-performance","minecraft-server","minestom","nio"],"created_at":"2024-09-24T20:22:24.189Z","updated_at":"2026-10-19T01:03:00.728Z","avatar_url":"https://github.com/Minestom.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"![banner](banner_dark.png#gh-dark-mode-only)\n![banner](banner_light.png#gh-light-mode-only)\n\n# Minestom\n\n[![license](https://img.shields.io/github/license/Minestom/Minestom?style=for-the-badge\u0026color=b2204c)](../LICENSE)\n[![standard-readme compliant](https://img.shields.io/badge/readme%20style-standard-brightgreen.svg?style=for-the-badge)](https://github.com/RichardLitt/standard-readme)  \n[![javadocs](https://img.shields.io/badge/documentation-javadocs-4d7a97?style=for-the-badge)](https://javadoc.minestom.net)\n[![wiki](https://img.shields.io/badge/documentation-wiki-74aad6?style=for-the-badge)](https://wiki.minestom.net/)\n[![discord-banner](https://img.shields.io/discord/706185253441634317?label=discord\u0026style=for-the-badge\u0026color=7289da)](https://discord.gg/pkFRvqB)\n\nMinestom is an open-source library that enables developers to create their own Minecraft server software, without any code from Mojang.\n\nThe main difference between Mojang's vanilla server and a minestom-based server, is that ours does not contain any features by default!\nHowever, we have a complete API which is designed to allow you to make anything possible, with ease.\n\nThis is a developer API not meant to be used by end-users. Replacing Bukkit/Forge/Sponge with this **will not work** since we do not implement any of their APIs.\n\n# Table of contents\n- [Install](#install)\n- [Usage](#usage)\n- [Why Minestom?](#why-minestom)\n- [Advantages \u0026 Disadvantages](#advantages-and-disadvantages)\n- [API](#api)\n- [Credits](#credits)\n- [Contributing](#contributing)\n- [License](#license)\n\n# Install\nMinestom is not installed like Bukkit/Forge/Sponge.\nAs Minestom is a Java library, it must be loaded the same way any other Java library may be loaded.\nThis means you need to add Minestom as a dependency, add your code and compile by yourself.\n\nMinestom is available on [Maven Central](https://mvnrepository.com/artifact/net.minestom/minestom-snapshots),\nand can be installed like the following (Gradle/Groovy):\n\n```groovy\nrepositories {\n    mavenCentral()\n    maven { url 'https://jitpack.io' }\n}\n\ndependencies {\n    implementation 'net.minestom:minestom-snapshots:\u003c???\u003e'\n}\n```\n\n# Usage\nAn example of how to use the Minestom library is available [here](/demo).\nAlternatively you can check the official [wiki](https://wiki.minestom.net/) or the [javadocs](https://minestom.github.io/Minestom/).\n\n# Why Minestom?\nMinecraft has evolved a lot since its release, most of the servers today do not take advantage of vanilla features and even have to struggle because of them.\nOur target audience is those who want to make a server that benefits little from vanilla features. e.g. creative, kitpvp.\nThe goal is to offer more performance for those who need it.\nIn other words, it makes sense to use Minestom when it takes less time to implement every missing vanilla feature you want than removing every vanilla feature that will slow you down.\n\n# Advantages and Disadvantages\nMinestom isn't perfect, our choices make it much better for some cases, worse for some others.\n\n## Advantages\n* Remove the overhead of vanilla features\n* Multi-threaded\n* Instance system (Collections of blocks and entities) which is much more scalable than worlds\n* Open-source\n* Modern API\n* No more legacy NMS\n\n## Disadvantages\n* Does not work with Bukkit/Forge/Sponge plugins or mods\n* Does not work with older clients (using a proxy with ViaBackwards is possible)\n* Bad for those who want a vanilla experience\n* Longer to develop something playable\n* Multi-threaded environments need extra consideration\n\n# API\nEven if we do not include anything by default in the game, we simplify the way you add them, here is a preview.\n\n## Instances\nIt is our major concept, worlds are great for survival with friends, but when it scales up it can become unmanageable. The best examples can be found in Skyblock or minigames, not being able to separate each part properly and being forced to save everything in files, not to say the overhead caused by unnecessary data contained in them. Instances are a lightweight solution to it, being able to have every chunk in memory only, copying and sending it to another player in no time, with custom serialization and much more...\n\nBeing able to create instances directly on the go is a must-have, we believe it can push many more projects forward.\n\nInstances also come with performance benefits, unlike some others which will be fully single-threaded or maybe using one thread per world we are using a set number of threads (pool) to manage all chunks independently from instances, meaning using more CPU power.\n\n## Blocks\nMinestom by default does not know what is a chest, you will have to tell him that it opens an inventory. \nEvery \"special blocks\" (which aren't only visual) need a specialized handler. After applying this handler, you have a block that can be placed anywhere simply.\nHowever, all blocks are visually there, they just won't have interaction by default.\n\n## Entities\nThe terms \"passive\" or \"aggressive\" monsters do not exist, nobody stops you from making a flying chicken rushing into any players coming too close, doing so with NMS is a real mess because of obfuscation and the large inheritance.\n\n## Inventories\nIt is a field where Minecraft evolved a lot, inventories are now used a lot as client\u003c-\u003eserver interface with clickable items and callback, we support these interactions natively without the need of programming your solution.\n\n## Commands\nCommands are the simplest way of communication between clients and server. Since 1.13 Minecraft has incorporated a new library denominated \"Brigadier\", we then integrated an API designed to use the full potential of args types.\n\n# Credits\n* The [contributors](https://github.com/Minestom/Minestom/graphs/contributors) of the project\n* [The Minecraft Coalition](https://minecraft.wiki/w/Minecraft_Wiki:Projects/wiki.vg_merge) and [`#mcdevs`](https://github.com/mcdevs) -\n   protocol and file formats research.\n* [The Minecraft Wiki](https://minecraft.wiki) for all their useful info\n* [JProfiler](https://www.ej-technologies.com/products/jprofiler/overview.html) for their amazing Java profiler\n\n# Contributing\nSee [the contributing file](CONTRIBUTING.md)!\nAll WIP features are previewed as Draft PRs\n\n# License\nThis project is licensed under the [Apache License Version 2.0](../LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fminestom%2Fminestom","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fminestom%2Fminestom","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fminestom%2Fminestom/lists"}