Switched the library importing in the launcher to work based on a queue. As a new game is added to the queue, it should find any related data and also add it to the queue. This should result in an easier to maintain importer while reducing the load on the launcher's DAL. This may result in more RAM usage while importing. Local manifests have also been refactored to match manifests in import/export LCX files, removing the old manifest format. This is a large breaking change that will probably break existing game installations. A migration will probably have to be created.
34 lines
1.4 KiB
C#
34 lines
1.4 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using LANCommander.SDK.Enums;
|
|
|
|
namespace LANCommander.SDK.Models.Manifest
|
|
{
|
|
public class Server : BaseModel, IKeyedModel
|
|
{
|
|
public Guid Id { get; set; }
|
|
public string Name { get; set; } = "";
|
|
public string Path { get; set; } = "";
|
|
public string Arguments { get; set; } = "";
|
|
public string WorkingDirectory { get; set; } = "";
|
|
|
|
public string OnStartScriptPath { get; set; } = "";
|
|
public string OnStopScriptPath { get; set; } = "";
|
|
|
|
public string ContainerId { get; set; }
|
|
public string Host { get; set; }
|
|
public int Port { get; set; }
|
|
|
|
public bool UseShellExecute { get; set; }
|
|
public ProcessTerminationMethod ProcessTerminationMethod { get; set; }
|
|
public bool Autostart { get; set; }
|
|
public ServerAutostartMethod AutostartMethod { get; set; }
|
|
public int AutostartDelay { get; set; }
|
|
|
|
public string Game { get; set; }
|
|
public virtual ICollection<ServerConsole> ServerConsoles { get; set; } = new List<ServerConsole>();
|
|
public virtual ICollection<ServerHttpPath> HttpPaths { get; set; } = new List<ServerHttpPath>();
|
|
public virtual ICollection<Script> Scripts { get; set; } = new List<Script>();
|
|
public virtual ICollection<Action> Actions { get; set; } = new List<Action>();
|
|
}
|
|
}
|