37 lines
1.1 KiB
C#
37 lines
1.1 KiB
C#
using System.Security.Cryptography;
|
|
using System.Text;
|
|
using Sandbox.Engine.Multiplayer;
|
|
using Sandbox.Engine.Networking;
|
|
using Sandbox.Game;
|
|
using Sandbox.Game.World;
|
|
using TorchRemote.Models.Shared;
|
|
|
|
namespace TorchRemote.Plugin.Utils;
|
|
|
|
public static class Extensions
|
|
{
|
|
public static void ApplyDynamically(this ServerSettings settings)
|
|
{
|
|
MyGameService.GameServer.SetServerName(settings.ServerName);
|
|
|
|
MyMultiplayer.Static.HostName = settings.ServerName;
|
|
MyMultiplayer.Static.WorldName = settings.MapName;
|
|
MySession.Static.Name = settings.MapName;
|
|
MyMultiplayer.Static.MemberLimit = settings.MemberLimit;
|
|
|
|
MyCachedServerItem.SendSettingsToSteam();
|
|
}
|
|
|
|
public static Guid ToGuid(this string s)
|
|
{
|
|
using var md5 = MD5.Create();
|
|
return new(md5.ComputeHash(Encoding.UTF8.GetBytes(s)));
|
|
}
|
|
|
|
public static Vector3 ToNumerics(this VRageMath.Vector3D vector3D) =>
|
|
new((float)vector3D.X, (float)vector3D.Y, (float)vector3D.Z);
|
|
|
|
public static Vector3 ToNumerics(this VRageMath.Vector3 vector3) =>
|
|
new(vector3.X, vector3.Y, vector3.Z);
|
|
}
|