import 'dart:io'; import 'package:bugvault/Constants.dart'; import 'package:bugvault/SessionData.dart'; import 'package:bugvault/server/main.dart'; import 'package:libac_dart/nbt/NbtIo.dart'; import 'package:libac_dart/nbt/impl/CompoundTag.dart'; import 'package:libac_dart/packets/packets.dart'; Future main(List args) async { print("Starting BugVault Server..."); // Check for settings.dat, which should contain all basic information. // Then check if any data exists. If not, create data hierarchy File settings = File("settings.dat"); if (await settings.exists()) { // Load! SessionData.g_nbtConfiguration = await NbtIo.read("settings.dat") as CompoundTag; } else { SessionData.g_nbtConfiguration = CompoundTag(); print("No existing configuration found"); } await BugVaultServer.InstantiateSettings(SessionData.g_nbtConfiguration); print("Loaded settings..."); print("Registering packet handlers..."); await BugVaultServer.RegisterPacketHandlers(); print("Opening data port..."); print("\n\n"); print("=".padLeft(20, "=")); print("BugVault Dedicated Server\nVersion: ${Constants.VERSION}"); print("=".padLeft(20, "=")); while (!SessionData.g_bShutdownPending) { try { await PacketServer.start(BugVaultServer.g_iPortNumber); } catch (E) {} } print("Thank you for choosing BugVault! - Shutting down..."); return 0; }