diff options
| author | historia <[not public]> | 2026-07-03 20:53:00 -0400 |
|---|---|---|
| committer | historia <[not public]> | 2026-07-03 20:53:00 -0400 |
| commit | a5d4ead1795882d25da7eda53680d2a84590693d (patch) | |
| tree | 747a0516e03f22fdf511e55ee4c4809d4a1acd78 /cmd/mud/main.go | |
| parent | 0dfd7bf19e800b67e03726c18cfa00e623d6b121 (diff) | |
| download | thehouseoficarus-a5d4ead1795882d25da7eda53680d2a84590693d.tar.gz | |
feat: admin map can add new and rename areas. works with empty directories now.
Diffstat (limited to 'cmd/mud/main.go')
| -rw-r--r-- | cmd/mud/main.go | 139 |
1 files changed, 0 insertions, 139 deletions
diff --git a/cmd/mud/main.go b/cmd/mud/main.go deleted file mode 100644 index 23a2ca4..0000000 --- a/cmd/mud/main.go +++ /dev/null @@ -1,139 +0,0 @@ -package main - -import ( - "flag" - "fmt" - "log" - "os" - "os/signal" - "syscall" - - "thehouseoficarus/internal/admin" - "thehouseoficarus/internal/behavior" - "thehouseoficarus/internal/config" - "thehouseoficarus/internal/game" - "thehouseoficarus/internal/net" -) - -func main() { - configPath := flag.String("config", "config.yaml", "path to config file") - flag.Parse() - - dataDir := os.Getenv("DATA_DIR") - if dataDir == "" { - dataDir = "data" - } - - cfg, err := config.Load(*configPath) - if err != nil { - if os.IsNotExist(err) { - log.Printf("config file %s not found, creating with defaults", *configPath) - if err := config.SaveDefault(*configPath); err != nil { - log.Fatalf("failed to create config: %v", err) - } - cfg = config.Default() - } else { - log.Fatalf("failed to load config: %v", err) - } - } - - if cfg.GameConstants.ShopDefaultRestock > 0 { - behavior.ShopDefaultRestock = cfg.GameConstants.ShopDefaultRestock - } - - g := game.New(dataDir, &cfg.DefaultColors, cfg.StartupValidation, cfg.StartingRoom) - g.Ticks.Start(cfg.TickLength) - defer g.Ticks.Stop() - - g.Ticks.Subscribe(1, func() bool { - g.MoveTick() - g.ProcessQueuedCommands() - g.EnterSeqTick() - g.TriggerSeqTick() - g.TransientMobTick() - g.World.Tick() - g.MobStore.Tick() - g.RegenTick() - g.DisconnectTick() - g.WanderTick() - g.SharedDepletionTick() - g.FireTick() - g.AdvanceActions() - g.TechTick() - g.ConsumeTick() - g.BroadcastRespawns() - g.VisualTick() - g.SneakTick() - g.FarmTick() - g.BuffTick() - g.SafespotTick() - g.HazardTick() - return true - }) - - server, err := net.NewServer(cfg) - if err != nil { - log.Fatalf("failed to start server: %v", err) - } - g.SetHub(server.Hub()) - - junkItems := []string{"solarjunk", "ecojunk", "hydrojunk", "biojunk", "chaosjunk", - "cosmicjunk", "naturejunk", "bloodjunk", "deathjunk", "lawjunk", "scrap"} - for _, j := range junkItems { - g.World.AddGroundItem(1, j, 500) - } - - if cfg.AdminHTTP.Enabled { - adminSrv, err := admin.NewServer(cfg, false, g.AccountStore, g.World, g.ItemStore, g.ObjectStore, g.MobStore, dataDir) - if err != nil { - log.Fatalf("failed to start admin HTTP server: %v", err) - } - go func() { - if err := adminSrv.ListenAndServe(); err != nil { - log.Printf("admin HTTP server error: %v", err) - } - }() - log.Printf("Admin HTTP listening on :%d", cfg.AdminHTTP.Port) - } - - if cfg.AdminHTTPS.Enabled { - adminSrv, err := admin.NewServer(cfg, true, g.AccountStore, g.World, g.ItemStore, g.ObjectStore, g.MobStore, dataDir) - if err != nil { - log.Fatalf("failed to start admin HTTPS server: %v", err) - } - go func() { - if err := adminSrv.ListenAndServe(); err != nil { - log.Printf("admin HTTPS server error: %v", err) - } - }() - log.Printf("Admin HTTPS listening on :%d", cfg.AdminHTTPS.Port) - } - - if cfg.Telnet.Enabled { - log.Printf("Telnet listening on :%d", cfg.Telnet.Port) - } - if cfg.TelnetTLS.Enabled { - log.Printf("Telnet+TLS listening on :%d", cfg.TelnetTLS.Port) - } - if cfg.HTTP.Enabled { - log.Printf("HTTP listening on :%d", cfg.HTTP.Port) - } - if cfg.HTTPS.Enabled { - log.Printf("HTTPS listening on :%d", cfg.HTTPS.Port) - } - fmt.Println() // blank line after log prefixes - - sigCh := make(chan os.Signal, 1) - signal.Notify(sigCh, syscall.SIGINT, syscall.SIGTERM) - - go func() { - <-sigCh - log.Println("Shutting down...") - g.Ticks.Stop() - os.Exit(0) - }() - - if err := server.ListenAndServe(g.HandleSession); err != nil { - log.Fatalf("server error: %v", err) - } -} |
