Fix server management issues and improve overall stability

Major server management fixes:
- Replace Flatpak-specific pkill with universal process tree termination using pstree + process.kill()
- Fix signal format errors (SIGTERM/SIGKILL instead of TERM/KILL strings)
- Add 5-second cooldown after server stop to prevent race conditions with external detection
- Enable Stop Server button for external servers in UI
- Implement proper timeout handling with process tree killing

ContentDB improvements:
- Fix download retry logic and "closed" error by preventing concurrent zip extraction
- Implement smart root directory detection and stripping during package extraction
- Add game-specific timeout handling (8s for VoxeLibre vs 3s for simple games)

World creation fixes:
- Make world creation asynchronous to prevent browser hangs
- Add WebSocket notifications for world creation completion status

Other improvements:
- Remove excessive debug logging
- Improve error handling and user feedback throughout the application
- Clean up temporary files and unnecessary logging

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Nathan Schneider
2025-08-24 19:17:38 -06:00
parent 3aed09b60f
commit 2d3b1166fe
15 changed files with 851 additions and 536 deletions

View File

@@ -22,7 +22,7 @@ const body = `
<div class="stat-value" style="font-size: 1rem; word-break: break-all;">
${stats.minetestDir}
</div>
<div class="stat-label">Minetest Directory</div>
<div class="stat-label">Data Directory</div>
</div>
</div>
@@ -95,7 +95,7 @@ const body = `
<td>${systemInfo.nodeVersion}</td>
</tr>
<tr>
<td><strong>Minetest Directory</strong></td>
<td><strong>Data Directory</strong></td>
<td style="word-break: break-all;">${stats.minetestDir}</td>
</tr>
<tr>