34 lines
1.0 KiB
C#
34 lines
1.0 KiB
C#
using System.Collections.Generic;
|
|
using System.Diagnostics;
|
|
using System.IO;
|
|
using System.Reflection;
|
|
using NitroxModel.DataStructures.GameLogic;
|
|
using NitroxServer.ConsoleCommands.Abstract;
|
|
|
|
namespace NitroxServer.ConsoleCommands
|
|
{
|
|
internal class DirectoryCommand : Command
|
|
{
|
|
public override IEnumerable<string> Aliases { get; } = new[] { "dir" };
|
|
|
|
public DirectoryCommand() : base("directory", Perms.CONSOLE, "Opens the current directory of the server")
|
|
{
|
|
}
|
|
|
|
protected override void Execute(CallArgs args)
|
|
{
|
|
string path = Path.GetDirectoryName(Assembly.GetEntryAssembly()?.Location);
|
|
|
|
if (!Directory.Exists(path))
|
|
{
|
|
Log.ErrorSensitive("Unable to open Nitrox directory {path} because it does not exist", path);
|
|
return;
|
|
|
|
}
|
|
|
|
Log.InfoSensitive("Opening directory {path}", path);
|
|
Process.Start(new ProcessStartInfo(path) { UseShellExecute = true, Verb = "open" })?.Dispose();
|
|
}
|
|
}
|
|
}
|