mirror of
https://github.com/space-wizards/RobustToolbox.git
synced 2026-02-14 19:29:36 +01:00
55 lines
1.6 KiB
C#
55 lines
1.6 KiB
C#
using System;
|
|
using Robust.Shared.Log;
|
|
using Robust.Shared.Timing;
|
|
|
|
namespace Robust.Server
|
|
{
|
|
/// <summary>
|
|
/// Top level class that controls the game logic of the server.
|
|
/// </summary>
|
|
[NotContentImplementable]
|
|
public interface IBaseServer
|
|
{
|
|
/// <summary>
|
|
/// The maximum number of players allowed in the server.
|
|
/// </summary>
|
|
int MaxPlayers { get; }
|
|
|
|
/// <summary>
|
|
/// The displayed name of our server.
|
|
/// </summary>
|
|
string ServerName { get; }
|
|
|
|
/// <summary>
|
|
/// Sets up the server, loads the game, gets ready for client connections.
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
bool Start(ServerOptions options, Func<ILogHandler>? logHandler = null);
|
|
|
|
/// <summary>
|
|
/// Hard restarts the server, shutting it down, kicking all players, and starting the server again.
|
|
/// </summary>
|
|
void Restart();
|
|
|
|
/// <summary>
|
|
/// Shuts down the server, and ends the process.
|
|
/// </summary>
|
|
/// <param name="reason">Reason why the server was shut down.</param>
|
|
void Shutdown(string? reason);
|
|
|
|
/// <summary>
|
|
/// Enters the main loop of the server. This functions blocks until the server is shut down.
|
|
/// </summary>
|
|
void MainLoop();
|
|
}
|
|
|
|
internal interface IBaseServerInternal : IBaseServer
|
|
{
|
|
ServerOptions Options { get; }
|
|
bool ContentStart { set; }
|
|
|
|
void OverrideMainLoop(IGameLoop gameLoop);
|
|
void SetCommandLineArgs(CommandLineArgs args);
|
|
}
|
|
}
|