load static method
Implementation
static Future<SetonixServer> load({
String? worldFile,
SetonixConfig argsConfig = const SetonixConfig(),
}) async {
final assetManager = ServerAssetManager();
final consoler = Consoler(
defaultProgramConfig: DefaultProgramConfiguration(
description: "Setonix server",
),
);
await _runStaticLogZone(
consoler,
() => assetManager.init(console: consoler),
);
final configManager = ConfigManager(argsConfig: argsConfig);
await configManager.loadConfig();
final apiEndpoint = configManager.apiEndpoint;
UserService userService;
if (apiEndpoint.isNotEmpty) {
userService = RemoteUserService(apiEndpoint: apiEndpoint);
} else {
final fileService = FileUserService();
await fileService.setup();
userService = fileService;
}
final userManager = UserManager(
guestPrefix: configManager.guestPrefix,
service: userService,
whitelistEnabled: configManager.whitelistEnabled,
);
final challengeManager = configManager.accountRequired
? ChallengeManager()
: null;
return SetonixServer._(
consoler,
assetManager,
configManager,
userManager,
challengeManager,
);
}