using Robust.Shared;
using Robust.Shared.Utility;
namespace Robust.Server
{
public sealed class ServerOptions
{
///
/// Whether content sandboxing will be enabled & enforced.
///
public bool Sandboxing { get; init; } = false;
// TODO: Expose mounting methods to games using Robust as a library.
///
/// Lists of mount options to mount.
///
public MountOptions MountOptions { get; init; } = new();
///
/// Assemblies with this prefix will be loaded.
///
public string ContentModulePrefix { get; init; } = "Content.";
///
/// Name of the content build directory, for game pack mounting purposes.
///
public string ContentBuildDirectory { get; init; } = "Content.Server";
///
/// Directory to load all assemblies from.
///
public ResPath AssemblyDirectory { get; init; } = new(@"/Assemblies/");
///
/// Directory to load all prototypes from.
///
public ResPath PrototypeDirectory { get; init; } = new(@"/Prototypes/");
///
/// Whether to disable mounting the "Resources/" folder on FULL_RELEASE.
///
public bool ResourceMountDisabled { get; init; } = false;
///
/// Whether to mount content resources when not on FULL_RELEASE.
///
public bool LoadContentResources { get; init; } = true;
///
/// Whether to load config and user data.
///
public bool LoadConfigAndUserData { get; init; } = true;
}
}