<feed xmlns='http://www.w3.org/2005/Atom'>
<title>minecraft-ui/src/docker.rs, branch master</title>
<subtitle>Everyone-is-equal self-hosted UI for minecraft server hosting.
</subtitle>
<id>https://git.2137697.xyz/minecraft-ui/atom?h=master</id>
<link rel='self' href='https://git.2137697.xyz/minecraft-ui/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.2137697.xyz/minecraft-ui/'/>
<updated>2026-08-04T12:05:15Z</updated>
<entry>
<title>small changes</title>
<updated>2026-08-04T12:05:15Z</updated>
<author>
<name>salmonik</name>
<email>salmonik@tuta.io</email>
</author>
<published>2026-08-04T12:05:15Z</published>
<link rel='alternate' type='text/html' href='https://git.2137697.xyz/minecraft-ui/commit/?id=ea1bc7db954030ad5e4b40391e8e0d655b9d7e9a'/>
<id>urn:sha1:ea1bc7db954030ad5e4b40391e8e0d655b9d7e9a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Config editor, host networking, whitelist RCON</title>
<updated>2026-07-29T10:21:32Z</updated>
<author>
<name>salmonik</name>
<email>salmonik@tuta.io</email>
</author>
<published>2026-07-29T10:21:32Z</published>
<link rel='alternate' type='text/html' href='https://git.2137697.xyz/minecraft-ui/commit/?id=bc0d3d2f324ee613424ee31103207222b4b19640'/>
<id>urn:sha1:bc0d3d2f324ee613424ee31103207222b4b19640</id>
<content type='text'>
- Config file editor at /instances/{id}/config (browse &amp; edit config/ files)
- Host networking for Docker container (fixes WireGuard MTU DNS issues)
- Whitelist changes applied live via RCON instead of stopping the server
- Config edit handler detects which fields changed: whitelist → RCON,
  other settings → restart container
- walk_dir simplified (removed unused root param)
- import_world uses if-let instead of never-looping while-let
- docker-compose.yml updated as reference template
</content>
</entry>
<entry>
<title>Add per-instance mod management with client-side detection</title>
<updated>2026-07-28T23:03:24Z</updated>
<author>
<name>salmonik</name>
<email>salmonik@tuta.io</email>
</author>
<published>2026-07-28T23:03:24Z</published>
<link rel='alternate' type='text/html' href='https://git.2137697.xyz/minecraft-ui/commit/?id=74d2ada067bd2fd9436710ab7ac260e0eddf1314'/>
<id>urn:sha1:74d2ada067bd2fd9436710ab7ac260e0eddf1314</id>
<content type='text'>
- New mod validation engine (src/mods.rs) with constant-pool class-file
  scanning: detects server-side content (block, tileentity, command,
  worldgen) vs client-only API (gui, renderer, forge/client)
- 7 client-only mods correctly detected (AppleSkin, CraftingTweaks,
  Durability101, EnchantmentDescriptions, InventoryHUD, MouseTweaks,
  TrashSlot); 51 server-capable; 1 unknown
- Routes + templating for mod upload (jar/zip), listing, delete, rescan
- Multipart upload with 500MB limit (bypasses axum's default 2MB)
- Per-instance mod summary card on edit page
- Whitelist toggle checkbox on edit page (persisted, drives ENABLE_WHITELIST)
- Dynamic Java image tag (java8/java17/java21) based on MC version
- Class scan is informational-only; rejection based on metadata side=CLIENT
- has_modpack flag cleanup on mod delete
- Remove hx-boost from &lt;body&gt; (was corrupting multipart uploads)
</content>
</entry>
<entry>
<title>remove unused code, also, third stable</title>
<updated>2026-07-12T20:06:54Z</updated>
<author>
<name>salmonik</name>
<email>salmonik@tuta.io</email>
</author>
<published>2026-07-12T20:06:54Z</published>
<link rel='alternate' type='text/html' href='https://git.2137697.xyz/minecraft-ui/commit/?id=ce30a8732c21a1c936ac560b5c94576df2e26b22'/>
<id>urn:sha1:ce30a8732c21a1c936ac560b5c94576df2e26b22</id>
<content type='text'>
</content>
</entry>
<entry>
<title>first stable</title>
<updated>2026-07-12T17:38:03Z</updated>
<author>
<name>salmonik</name>
<email>salmonik@tuta.io</email>
</author>
<published>2026-07-12T17:38:03Z</published>
<link rel='alternate' type='text/html' href='https://git.2137697.xyz/minecraft-ui/commit/?id=ae7ef10b67737f08a86743f687bca30a12e9e17a'/>
<id>urn:sha1:ae7ef10b67737f08a86743f687bca30a12e9e17a</id>
<content type='text'>
</content>
</entry>
</feed>
