package main import ( "os" "os/signal" "syscall" "git.sharkk.net/Sky/Moonshark/core/logger" ) func main() { // Initialize global logger logger.InitGlobalLogger(logger.LevelDebug, true) logger.Server("Starting Moonshark server") // Create and initialize server server, err := NewMoonshark("config.lua") if err != nil { logger.Fatal("Failed to initialize server: %v", err) } // Start server if err := server.Start(); err != nil { logger.Fatal("Failed to start server: %v", err) } // Wait for interrupt signal stop := make(chan os.Signal, 1) signal.Notify(stop, os.Interrupt, syscall.SIGTERM) <-stop logger.Server("Shutdown signal received") // Shutdown server if err := server.Shutdown(); err != nil { logger.Error("Error during shutdown: %v", err) os.Exit(1) } }