{"id":20470693,"url":"https://github.com/maxomatic458/bedwa-rs","last_synced_at":"2025-10-08T16:08:19.753Z","repository":{"id":261808818,"uuid":"870694813","full_name":"maxomatic458/bedwa-rs","owner":"maxomatic458","description":"a bedwars server written in rust","archived":false,"fork":false,"pushed_at":"2025-04-10T14:39:58.000Z","size":162,"stargazers_count":17,"open_issues_count":5,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-13T10:58:20.968Z","etag":null,"topics":["bedwars","minecraft","rust","valence"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/maxomatic458.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-10-10T13:55:54.000Z","updated_at":"2025-03-29T14:11:40.000Z","dependencies_parsed_at":"2024-11-25T18:24:40.477Z","dependency_job_id":"91444649-2a96-4470-8966-580d38a86de9","html_url":"https://github.com/maxomatic458/bedwa-rs","commit_stats":null,"previous_names":["maxomatic458/bedwa-rs"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/maxomatic458/bedwa-rs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxomatic458%2Fbedwa-rs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxomatic458%2Fbedwa-rs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxomatic458%2Fbedwa-rs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxomatic458%2Fbedwa-rs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/maxomatic458","download_url":"https://codeload.github.com/maxomatic458/bedwa-rs/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxomatic458%2Fbedwa-rs/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278972777,"owners_count":26078102,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-08T02:00:06.501Z","response_time":56,"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":["bedwars","minecraft","rust","valence"],"created_at":"2024-11-15T14:13:47.115Z","updated_at":"2025-10-08T16:08:19.736Z","avatar_url":"https://github.com/maxomatic458.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003e [!NOTE]\n\u003e Parts of the server logic will be separated into [this](https://github.com/maxomatic458/valence-extra) repository (to make them more reusable).\n\u003e So a rewrite will probably happen before larger features can be added.  \n\n# Bedwa-rs\nA minecraft bedwars server written entirely in rust with [valence](https://github.com/valence-rs/valence)\n\n# Current/Future Features \n- [X] Mostly vanilla combat system, that supports most pvp enchants and also bows \u0026 arrows\n- [X] Use custom bedwars maps\n- [X] Configurable shops\n- [X] Configurable resource spawners\n- [X] Chests \u0026 Enderchets (still some bugs with that)\n- [ ] Potions\n- [ ] Custom Items\n\n# Getting started\n\n* Download the binary from the release page or build it yourself with `cargo build --release`.\n* Setup the directory as shown below (the world folder should be a 1.20.1 bedwars map with all blocks, beds and chests placed already)\n  ```\n  world/\n  shop.json\n  ```\n* Run the ``bedwa-rs`` binary in the directory.\n\n# Configuring the server\nWhen you run the server for the first time, you will be placed in an edit mode.\nNow you can use the items in your hotbar and the chat commands to configure the server.\n\n## Chat commands\n* `/bwa arenabounds \u003cpos1\u003e \u003cpos2\u003e`: Set the arena bounds.\n\n* `/bwa team add \u003cteam_name\u003e \u003cteam_color\u003e`: Add a team.\n\n* `/bwa team remove \u003cteam_name\u003e`: Remove a team.\n\n* `/bwa team spawn \u003cteam_name\u003e \u003cpos\u003e`: Set the spawn of a team.\n\n* `/bwa team bed \u003cteam_name\u003e \u003cpos\u003e`: Set the bed of a team.\n\n* `/bwa shop \u003cteam_name\u003e \u003cpos\u003e \u003cyaw\u003e \u003cteam?\u003e`: Place a shop (team is optional, when it is set, then the shop will only spawn if the team is in the match).\n\n* `/bwa shop remove \u003cpos\u003e`: Remove a shop.\n\n* `/bwa spawner add \u003cpos\u003e \u003cresource\u003e \u003cinterval\u003e \u003camount\u003e \u003cteam?\u003e`: Add a resource spawner, `resource` is the minecraft item id, like `iron_ingot`, `interval` is the time in seconds between spawns, `amount` is the amount of items spawned, `team` is optional, when it is set, then the spawner will only spawn if the team is in the match.\n\n* `/bwa spawner remove \u003cpos\u003e`: Remove a resource spawner.\n\n* `/bwa lobby spawn \u003cpos\u003e`: Set the lobby spawn.\n\n* `/bwa spectator spawn \u003cpos\u003e`: Set the spectator spawn.\n\n* `/bwa summary`: Print a summary of the current configuration.\n\n* ~~`/bwa help`: Print a list of all commands.~~ (not implemented yet)\n\n* `/bwa save`: Save the configuration to disk, then you can restart the server to go into play mode.\n\n## Shop configuration\nThe shop configuration is stored in the `shop.json` file in the server directory.\nThe file has this structure:\n```jsonc\n{\n    \"shop_items\": {\n        \"BlockCategory\": [ // Name of the category in the shop\n            {\n                \"item\": \"white_wool\", // Item for that category\n                \"count\": 1,\n                \"nbt\": null,\n            },\n            [ // List of items that can be bought\n                {\n                    \"offer\": {\n                        \"item\": \"white_wool\",\n                        \"count\": 4,\n                        \"nbt\": null,\n                    },\n                    \"price\": {\n                        \"item\": \"iron_ingot\",\n                        \"count\": 1,\n                        \"nbt\": null,\n                    }\n                }\n            ]\n        ]\n    }\n}\n```\n\nThis is how an enchanted item would look like:\n```jsonc\n    {\n        \"offer\": {\n        \"item\": \"diamond_sword\",\n        \"count\": 1,\n        \"nbt\": {\n            \"display\": {\n                \"Lore\": [\n                    \"{\\\"text\\\":\\\"10 Gold\\\", \\\"italic\\\": \\\"false\\\", \\\"bold\\\": \\\"true\\\", \\\"color\\\": \\\"gold\\\"}'}}\"\n                ]\n            },\n            \"Enchantments\": [\n            {\n                \"id\": \"minecraft:sharpness\",\n                \"lvl\": 1\n            },\n            {\n                \"id\": \"minecraft:fire_aspect\",\n                \"lvl\": 1\n            },\n            {\n                \"id\": \"minecraft:knockback\",\n                \"lvl\": 1\n            }\n            ]\n        }  \n        },\n        \"price\": {\n        \"item\": \"gold_ingot\",\n        \"count\": 10,\n        \"nbt\": null\n        }\n    }\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaxomatic458%2Fbedwa-rs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaxomatic458%2Fbedwa-rs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaxomatic458%2Fbedwa-rs/lists"}