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

@@ -279,13 +279,13 @@ document.addEventListener('DOMContentLoaded', function() {
const result = await response.json();
if (result.success) {
showStatus(result.message + ' ✅', 'success', false);
showStatus(result.message + ' ✅ Redirecting to Extensions...', 'success', false);
clearForm();
// Auto-hide success message after 5 seconds
// Redirect to extensions page after 2 seconds to show the newly installed package
setTimeout(() => {
installStatus.style.display = 'none';
}, 5000);
window.location.href = '/extensions';
}, 2000);
} else {
showStatus(result.error || 'Installation failed', 'error', false);
}