package main import ( "Embalming_Girl_Server/admin" "Embalming_Girl_Server/db" "Embalming_Girl_Server/handler" "log" "net/http" ) func main() { if err := db.Init(); err != nil { log.Fatal("Database init failed:", err) } log.Println("Database initialized") hub := handler.NewHub() hub.InitTestRooms() mux := http.NewServeMux() mux.HandleFunc("/ws", hub.ServeWS) mux.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { w.Header().Set("Content-Type", "text/plain; charset=utf-8") w.Write([]byte("Embalming Girl Server v0.2.0")) }) admin.Register(mux, func() map[string]interface{} { var totalUsers int db.DB.QueryRow("SELECT COUNT(*) FROM users").Scan(&totalUsers) return map[string]interface{}{ "total_users": totalUsers, "active_rooms": len(hub.RoomMgr.ListRooms()), "online_clients": hub.OnlineCount(), } }) addr := ":8080" log.Printf("Server started on %s", addr) log.Printf("Admin panel: http://localhost%s/admin", addr) log.Printf("Test rooms: TEST3, TEST4, TEST5, TEST6") if err := http.ListenAndServe(addr, mux); err != nil { log.Fatal("ListenAndServe:", err) } }