Merge pull request #3938 from Mailaender/game-id

Added a Game ID and print it to syncreport.log
This commit is contained in:
Paul Chote
2013-10-17 22:51:27 -07:00
4 changed files with 28 additions and 1 deletions

View File

@@ -11,6 +11,7 @@
using System; using System;
using System.Diagnostics; using System.Diagnostics;
using System.IO; using System.IO;
using System.Reflection;
using OpenRA.FileFormats; using OpenRA.FileFormats;
namespace OpenRA namespace OpenRA
@@ -45,6 +46,22 @@ namespace OpenRA
return PlatformType.Unknown; return PlatformType.Unknown;
} }
public static string RuntimeVersion
{
get
{
var mono = Type.GetType("Mono.Runtime");
if (mono == null)
return ".NET CLR {0}".F(Environment.Version);
var version = mono.GetMethod("GetDisplayName", BindingFlags.NonPublic | BindingFlags.Static);
if (version == null)
return "Mono (unknown version) CLR {0}".F(Environment.Version);
return "Mono {0} CLR {1}".F(version.Invoke(null, null), Environment.Version);
}
}
public static string SupportDir public static string SupportDir
{ {
get get

View File

@@ -138,11 +138,13 @@ namespace OpenRA.Network
public int StartingCash = 5000; public int StartingCash = 5000;
public string StartingUnitsClass = "none"; public string StartingUnitsClass = "none";
public bool AllowVersionMismatch; public bool AllowVersionMismatch;
public string GameUid;
} }
public Session(string[] mods) public Session(string[] mods)
{ {
this.GlobalSettings.Mods = mods.ToArray(); this.GlobalSettings.Mods = mods.ToArray();
this.GlobalSettings.GameUid = System.Guid.NewGuid().ToString();
} }
public string Serialize() public string Serialize()

View File

@@ -178,6 +178,9 @@ namespace OpenRA.Network
{ {
if (r.Frame == frame) if (r.Frame == frame)
{ {
Log.Write("sync", "Player: {0} ({1} {2} {3})", Game.Settings.Player.Name, Platform.CurrentPlatform, Environment.OSVersion, Platform.RuntimeVersion);
var mod = Game.CurrentMods.First().Value;
Log.Write("sync", "Game ID: {0} (Mod: {1} at Version {2})", orderManager.LobbyInfo.GlobalSettings.GameUid, mod.Title, mod.Version);
Log.Write("sync", "Sync for net frame {0} -------------", r.Frame); Log.Write("sync", "Sync for net frame {0} -------------", r.Frame);
Log.Write("sync", "SharedRandom: {0} (#{1})", r.SyncedRandom, r.TotalCount); Log.Write("sync", "SharedRandom: {0} (#{1})", r.SyncedRandom, r.TotalCount);
Log.Write("sync", "Synced Traits:"); Log.Write("sync", "Synced Traits:");

View File

@@ -46,6 +46,10 @@ namespace OpenRA
static void FatalError(Exception e) static void FatalError(Exception e)
{ {
Log.AddChannel("exception", "exception.log"); Log.AddChannel("exception", "exception.log");
var mod = Game.CurrentMods.First().Value;
Log.Write("exception", "{0} Mod at Version {1}", mod.Title, mod.Version);
Log.Write("exception", "Operating System: {0} ({1})", Platform.CurrentPlatform, Environment.OSVersion);
Log.Write("exception", "Runtime Version: {0}", Platform.RuntimeVersion);
var rpt = BuildExceptionReport(e).ToString(); var rpt = BuildExceptionReport(e).ToString();
Log.Write("exception", "{0}", rpt); Log.Write("exception", "{0}", rpt);
Console.Error.WriteLine(rpt); Console.Error.WriteLine(rpt);
@@ -69,7 +73,8 @@ namespace OpenRA
static StringBuilder BuildExceptionReport(Exception e, StringBuilder sb, int d) static StringBuilder BuildExceptionReport(Exception e, StringBuilder sb, int d)
{ {
if (e == null) return sb; if (e == null)
return sb;
sb.AppendFormat("Exception of type `{0}`: {1}", e.GetType().FullName, e.Message); sb.AppendFormat("Exception of type `{0}`: {1}", e.GetType().FullName, e.Message);