Tentative fix for 2020-11-25 update
This commit is contained in:
@@ -156,11 +156,11 @@ namespace Torch.Server.Managers
|
|||||||
|
|
||||||
|
|
||||||
#pragma warning disable 649
|
#pragma warning disable 649
|
||||||
[ReflectedEventReplace(typeof(MySteamGameServer), nameof(MySteamGameServer.ValidateAuthTicketResponse),
|
[ReflectedEventReplace("VRage.Steam.MySteamGameServer, VRage.Steam", "ValidateAuthTicketResponse",
|
||||||
typeof(MyDedicatedServerBase), "GameServer_ValidateAuthTicketResponse")]
|
typeof(MyDedicatedServerBase), "GameServer_ValidateAuthTicketResponse")]
|
||||||
private static Func<ReflectedEventReplacer> _gameServerValidateAuthTicketFactory;
|
private static Func<ReflectedEventReplacer> _gameServerValidateAuthTicketFactory;
|
||||||
|
|
||||||
[ReflectedEventReplace(typeof(MySteamGameServer), nameof(MySteamGameServer.UserGroupStatusResponse),
|
[ReflectedEventReplace("VRage.Steam.MySteamGameServer, VRage.Steam", "UserGroupStatusResponse",
|
||||||
typeof(MyDedicatedServerBase), "GameServer_UserGroupStatus")]
|
typeof(MyDedicatedServerBase), "GameServer_UserGroupStatus")]
|
||||||
private static Func<ReflectedEventReplacer> _gameServerUserGroupStatusFactory;
|
private static Func<ReflectedEventReplacer> _gameServerUserGroupStatusFactory;
|
||||||
|
|
||||||
@@ -216,15 +216,16 @@ namespace Torch.Server.Managers
|
|||||||
//Largely copied from SE
|
//Largely copied from SE
|
||||||
private void ValidateAuthTicketResponse(ulong steamId, JoinResult response, ulong steamOwner)
|
private void ValidateAuthTicketResponse(ulong steamId, JoinResult response, ulong steamOwner)
|
||||||
{
|
{
|
||||||
var state = new MyP2PSessionState();
|
// TODO: Find another way to do this
|
||||||
MySteamServiceWrapper.Static.Peer2Peer.GetSessionState(steamId, ref state);
|
//var state = new MyP2PSessionState();
|
||||||
var ip = new IPAddress(BitConverter.GetBytes(state.RemoteIP).Reverse().ToArray());
|
//MySteamServiceWrapper.Static.Peer2Peer.GetSessionState(steamId, ref state);
|
||||||
|
//var ip = new IPAddress(BitConverter.GetBytes(state.RemoteIP).Reverse().ToArray());
|
||||||
|
|
||||||
Torch.CurrentSession.KeenSession.PromotedUsers.TryGetValue(steamId, out MyPromoteLevel promoteLevel);
|
Torch.CurrentSession.KeenSession.PromotedUsers.TryGetValue(steamId, out MyPromoteLevel promoteLevel);
|
||||||
|
|
||||||
_log.Debug($"ValidateAuthTicketResponse(user={steamId}, response={response}, owner={steamOwner}, permissions={promoteLevel})");
|
_log.Debug($"ValidateAuthTicketResponse(user={steamId}, response={response}, owner={steamOwner}, permissions={promoteLevel})");
|
||||||
|
|
||||||
_log.Info($"Connection attempt by {steamId} from {ip}");
|
_log.Info($"Connection attempt by {steamId}");
|
||||||
|
|
||||||
if (IsProfiling(steamId))
|
if (IsProfiling(steamId))
|
||||||
{
|
{
|
||||||
|
@@ -115,14 +115,6 @@ namespace Torch.Server.ViewModels
|
|||||||
|
|
||||||
public DateTime InGameTime { get => _checkpoint.InGameTime; set => SetValue(ref _checkpoint.InGameTime, value); }
|
public DateTime InGameTime { get => _checkpoint.InGameTime; set => SetValue(ref _checkpoint.InGameTime, value); }
|
||||||
|
|
||||||
public MyObjectBuilder_SessionComponentMission MissionTriggers { get => _checkpoint.MissionTriggers; set => SetValue(ref _checkpoint.MissionTriggers, value); }
|
|
||||||
|
|
||||||
public string Briefing { get => _checkpoint.Briefing; set => SetValue(ref _checkpoint.Briefing, value); }
|
|
||||||
|
|
||||||
public string BriefingVideo { get => _checkpoint.BriefingVideo; set => SetValue(ref _checkpoint.BriefingVideo, value); }
|
|
||||||
|
|
||||||
public string CustomLoadingScreenImage { get => _checkpoint.CustomLoadingScreenImage; set => SetValue(ref _checkpoint.BriefingVideo, value); }
|
|
||||||
|
|
||||||
public string CustomLoadingScreenText { get => _checkpoint.CustomLoadingScreenText; set => SetValue(ref _checkpoint.CustomLoadingScreenText, value); }
|
public string CustomLoadingScreenText { get => _checkpoint.CustomLoadingScreenText; set => SetValue(ref _checkpoint.CustomLoadingScreenText, value); }
|
||||||
|
|
||||||
public string CustomSkybox { get => _checkpoint.CustomSkybox; set => SetValue(ref _checkpoint.CustomSkybox, value); }
|
public string CustomSkybox { get => _checkpoint.CustomSkybox; set => SetValue(ref _checkpoint.CustomSkybox, value); }
|
||||||
|
@@ -37,13 +37,14 @@ namespace Torch.Commands
|
|||||||
[Permission(MyPromoteLevel.None)]
|
[Permission(MyPromoteLevel.None)]
|
||||||
public void GetIP(ulong steamId = 0)
|
public void GetIP(ulong steamId = 0)
|
||||||
{
|
{
|
||||||
if (steamId == 0)
|
Context.Respond("Command no longer working!");
|
||||||
steamId = Context.Player.SteamUserId;
|
//if (steamId == 0)
|
||||||
|
// steamId = Context.Player.SteamUserId;
|
||||||
VRage.GameServices.MyP2PSessionState statehack = new VRage.GameServices.MyP2PSessionState();
|
//
|
||||||
MySteamServiceWrapper.Static.Peer2Peer.GetSessionState(steamId, ref statehack);
|
//VRage.GameServices.MyP2PSessionState statehack = new VRage.GameServices.MyP2PSessionState();
|
||||||
var ip = new IPAddress(BitConverter.GetBytes(statehack.RemoteIP).Reverse().ToArray());
|
//MySteamServiceWrapper.Static.Peer2Peer.GetSessionState(steamId, ref statehack);
|
||||||
Context.Respond($"Your IP is {ip}");
|
//var ip = new IPAddress(BitConverter.GetBytes(statehack.RemoteIP).Reverse().ToArray());
|
||||||
|
//Context.Respond($"Your IP is {ip}");
|
||||||
}
|
}
|
||||||
|
|
||||||
[Command("help", "Displays help for a command")]
|
[Command("help", "Displays help for a command")]
|
||||||
|
@@ -47,5 +47,14 @@ namespace Torch.Utils
|
|||||||
TargetDeclaringType = targetDeclaringType;
|
TargetDeclaringType = targetDeclaringType;
|
||||||
TargetName = targetName;
|
TargetName = targetName;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ReflectedEventReplaceAttribute(string eventDeclaringType, string eventName, Type targetDeclaringType,
|
||||||
|
string targetName)
|
||||||
|
{
|
||||||
|
EventDeclaringType = Type.GetType(eventDeclaringType);
|
||||||
|
EventName = eventName;
|
||||||
|
TargetDeclaringType = targetDeclaringType;
|
||||||
|
TargetName = targetName;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@@ -135,13 +135,15 @@ namespace Torch
|
|||||||
|
|
||||||
private void Create()
|
private void Create()
|
||||||
{
|
{
|
||||||
bool dedicated = Sandbox.Engine.Platform.Game.IsDedicated;
|
bool dedicated = true;
|
||||||
Environment.SetEnvironmentVariable("SteamAppId", _appSteamId.ToString());
|
Environment.SetEnvironmentVariable("SteamAppId", _appSteamId.ToString());
|
||||||
var service = MySteamServiceWrapper.Init(dedicated, _appSteamId);
|
var service = MySteamGameService.Create(true, _appSteamId);
|
||||||
MyServiceManager.Instance.AddService<IMyGameService>(service);
|
MyServiceManager.Instance.AddService<IMyGameService>(service);
|
||||||
var serviceInstance = MySteamUgcService.Create(_appSteamId, service);
|
var serviceInstance = MySteamUgcService.Create(_appSteamId, service);
|
||||||
MyServiceManager.Instance.AddService<IMyUGCService>(serviceInstance);
|
MyServiceManager.Instance.AddService<IMyUGCService>(serviceInstance);
|
||||||
if (dedicated && !MyGameService.HasGameServer)
|
MyServiceManager.Instance.AddService(new MyNullMicrophone());
|
||||||
|
MySteamGameService.InitNetworking(dedicated, service);
|
||||||
|
if (!MyGameService.HasGameServer)
|
||||||
{
|
{
|
||||||
_log.Warn("Steam service is not running! Please reinstall dedicated server.");
|
_log.Warn("Steam service is not running! Please reinstall dedicated server.");
|
||||||
return;
|
return;
|
||||||
|
Reference in New Issue
Block a user