Obsidian.API
1.0.0-nightly-88
See the version list below for details.
dotnet add package Obsidian.API --version 1.0.0-nightly-88
NuGet\Install-Package Obsidian.API -Version 1.0.0-nightly-88
<PackageReference Include="Obsidian.API" Version="1.0.0-nightly-88" />
<PackageVersion Include="Obsidian.API" Version="1.0.0-nightly-88" />
<PackageReference Include="Obsidian.API" />
paket add Obsidian.API --version 1.0.0-nightly-88
#r "nuget: Obsidian.API, 1.0.0-nightly-88"
#:package Obsidian.API@1.0.0-nightly-88
#addin nuget:?package=Obsidian.API&version=1.0.0-nightly-88&prerelease
#tool nuget:?package=Obsidian.API&version=1.0.0-nightly-88&prerelease

Obsidian is a C# .NET implementation of the Minecraft server protocol. Obsidian is currently still in development, and a lot of love and care is being put into the project!
Feel free to join our Discord if you're curious about the current state of the project, questions are always welcome!
✅ Roadmap
- A custom plugin framework
- Player movement/Info and chat
- Basic chunk loading
- Block breaking/placing
- Other gamemodes besides creative
- Usable storage and crafting blocks
- Low memory usage
- Inventory management
- Daylight and weather cycle
- World generation
- Liquid physics
- Mobs AI & pathfinding (basic)
- Redstone circuits
💻 Contribute
Contributions are always welcome! Read about how you can contribute here
🔌 Develop plugins
Plugins are cool! Wanna make them yourself? Find out about plugin development here
🔥 Development builds
Very early development builds are available over at the GitHub Actions page for this repository.
- Ensure you have the latest .NET Runtime installed
- Find the latest
.NET Buildaction and scroll to the bottom of the page to find the artifacts. - Unzip the artifact and run
dotnet ObsidianApp.dllto start the server. - On first run, a config file is generated. Fill this file with your preferenced values and run the previous command again.
- The first start needs internet access: Obsidian downloads the vanilla server jar from Mojang to extract the structure templates it can't ship, and caches them in
cache/. Easy, isn't it?
🛠️ Building from source
Building needs the .NET 10 SDK, Java 25 or newer (on the PATH or in JAVA_HOME) and internet access. The first build downloads the vanilla server jar of the Minecraft version set in Obsidian/Obsidian.csproj (MinecraftVersion), runs its data generators, and generates Obsidian/Assets from them (Obsidian.AssetGenerator). Later builds reuse the generated assets until the version changes.
🐟 Docker
You can now run Obsidian using Docker! As of right now, no image is available on DockerHub yet, but it will be sometime soon.
For now, to run Obsidian on Docker you will have to follow the following steps:
- Clone Obsidian
git clone --recurse-submodules https://github.com/ObsidianMC/Obsidian.git - Go to Obsidian's cloned directory
cd Obsidian - Build the docker image
docker build . -t obsidian - Run the container
docker run -d -p YOUR_HOST_PORT:25565 -v YOUR_SERVERFILES_PATH:/files --name YOUR_CONTAINER_NAME obsidian - Obsidian creates configuration files in
YOUR_SERVERFILES_PATH/config/. Edit them or supply environment overrides withdocker run -e MaxPlayers=50 -e Network__CompressionThreshold=256 .... - Start Obsidian's container again.
docker restart YOUR_CONTAINER_NAME
Docker Compose
The Compose sample lists every writable server, network, message, RCON, whitelist, and world setting as a commented environment option.
- Clone Obsidian
git clone --recurse-submodules https://github.com/ObsidianMC/Obsidian.git - Go to Obsidian's cloned directory
cd Obsidian - Uncomment and edit the options you want in
docker-compose.yml. - Run
docker compose up --build -d. Server files persist in theobsidian-filesnamed volume, mounted at/files.
Environment values override saved configuration files; omitted values fall back to those files, then built-in defaults. Nested properties use double underscores (for example, Network__CompressionThreshold); lists use zero-based indexes (for example, Worlds__0__Seed or WhitelistedPlayers__0__Name). List overrides merge by index and preserve omitted entries. Quote all Compose environment values.
FEEDBACK_WEBHOOK_URL remains an alias for FeedbackWebhookUrl and takes precedence if both are set. An empty value disables feedback. Changing environment values requires recreating the container with docker compose up -d; they are not written into the saved configuration. World seed overrides affect generation of new chunks, not existing chunks. RCON configuration fields are available, but the RCON server is currently unimplemented.
😎 The Obsidian Team
- Naamloos (creator)
- Tides (developer)
- Craftplacer (developer)
- Seb-stian (developer)
- Jonpro03 (developer)
💕 Thank-you's
Thank you to #mcdevs for additional support.
Thank you to TkTech for hosting Wiki.vg and for the #mcdevs community documenting Minecraft's protocol.
Thank you to the Minecraft Wiki for continuing to host Wiki.vg's contents after the site shut down [1] [2], as well as providing further resources on Minecraft's inner workings.
Thank you to Mojang for creating this wonderful game named Minecraft.
...and of course the biggest thank you to everyone that contributed!
<a href="https://github.com/obsidianserver/obsidian/graphs/contributors"> <img src="https://contributors-img.web.app/image?repo=obsidianserver/obsidian" /> </a>
<sub><sup>Made with contributors-img</sup></sub>
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- CommunityToolkit.HighPerformance (>= 8.4.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.0)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.0)
- SharpNoise (>= 0.12.1.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.0-nightly-89 | 0 | 10/9/2026 |
| 1.0.0-nightly-88 | 25 | 10/9/2026 |
| 1.0.0-nightly-87 | 31 | 10/8/2026 |
| 1.0.0-nightly-86 | 30 | 10/8/2026 |
| 1.0.0-nightly-85 | 40 | 10/8/2026 |
| 1.0.0-nightly-84 | 37 | 10/8/2026 |
| 1.0.0-nightly-83 | 53 | 10/5/2026 |
| 1.0.0-nightly-82 | 65 | 10/3/2026 |
| 1.0.0-nightly-81 | 53 | 10/2/2026 |
| 1.0.0-nightly-80 | 87 | 7/31/2026 |
| 1.0.0-nightly-79 | 104 | 3/17/2026 |
| 1.0.0-nightly-78 | 90 | 3/6/2026 |
| 1.0.0-nightly-77 | 93 | 2/16/2026 |
| 1.0.0-nightly-75 | 281 | 11/30/2025 |
| 1.0.0-nightly-74 | 132 | 11/29/2025 |
| 1.0.0-nightly-73 | 175 | 11/28/2025 |
| 1.0.0-nightly-72 | 144 | 11/7/2025 |
| 1.0.0-nightly-71 | 140 | 9/26/2025 |
| 1.0.0-nightly-70 | 203 | 9/1/2025 |
| 1.0.0-nightly-69 | 193 | 8/9/2025 |