diff --git a/src/client/Master/Client/MasterGetServersMessage.cs b/src/client/Master/Client/MasterGetServersMessage.cs
index 5c3c0a3..086d558 100644
--- a/src/client/Master/Client/MasterGetServersMessage.cs
+++ b/src/client/Master/Client/MasterGetServersMessage.cs
@@ -1,12 +1,12 @@
using System.Collections.Generic;
using System.Linq;
using log4net;
-using NPSharp.Master.Messages.Data;
+using NPSharp.Master.Data;
namespace NPSharp.Master.Messages.Client
{
///
- /// Represents a request message for the master server for a standard dedicated server list.
+ /// Represents a request message for the master server for a standard dedicated server list.
///
[MasterClientMessage("getservers")]
public class MasterGetServersMessage : MasterClientMessage
@@ -16,12 +16,28 @@ namespace NPSharp.Master.Messages.Client
static MasterGetServersMessage()
{
Log = LogManager.GetLogger(typeof (MasterGetServersMessage));
- }
+ }
+
+ ///
+ /// The game for which servers should be fetched
+ ///
+ public string GameName { get; set; }
+
+ ///
+ /// The protocol version of the dedicated servers to search for
+ ///
+ public uint ProtocolVersion { get; set; }
+
+ ///
+ /// Extra keywords to take care of when generating the server list
+ ///
+ public List Keywords { get; set; }
protected override string Serialize()
{
// I wonder if an extra useless space char at the end is okay in this case
- return string.Format("{0} {1} {2} {3}", Name, GameName, ProtocolVersion, string.Join(" ", Keywords.Select(k => k.ToString())));
+ return string.Format("{0} {1} {2} {3}", Name, GameName, ProtocolVersion,
+ string.Join(" ", Keywords.Select(k => k.ToString())));
}
protected override void Deserialize(string[] arguments)
@@ -44,20 +60,5 @@ namespace NPSharp.Master.Messages.Client
}
}
}
-
- ///
- /// The game for which servers should be fetched
- ///
- public string GameName { get; set; }
-
- ///
- /// The protocol version of the dedicated servers to search for
- ///
- public uint ProtocolVersion { get; set; }
-
- ///
- /// Extra keywords to take care of when generating the server list
- ///
- public List Keywords { get; set; }
}
}
\ No newline at end of file
diff --git a/src/client/Master/Client/MasterGetServersKeywords.cs b/src/client/Master/Data/MasterGetServersKeywords.cs
similarity index 53%
rename from src/client/Master/Client/MasterGetServersKeywords.cs
rename to src/client/Master/Data/MasterGetServersKeywords.cs
index 54131e0..0065f3e 100644
--- a/src/client/Master/Client/MasterGetServersKeywords.cs
+++ b/src/client/Master/Data/MasterGetServersKeywords.cs
@@ -1,7 +1,7 @@
-namespace NPSharp.Master.Messages.Data
+namespace NPSharp.Master.Data
{
///
- /// Represents keywords for a master server standard serverlist request.
+ /// Represents keywords for a master server standard serverlist request.
///
public enum MasterGetServersKeywords
{
diff --git a/src/client/Master/DedicatedServerEntry.cs b/src/client/Master/DedicatedServerEntry.cs
index 2a328bd..e97a9c9 100644
--- a/src/client/Master/DedicatedServerEntry.cs
+++ b/src/client/Master/DedicatedServerEntry.cs
@@ -25,7 +25,8 @@ namespace NPSharp.Master
var buffer = new List();
if (standardFormat)
- buffer.AddRange(BitConverter.GetBytes(IPAddress.HostToNetworkOrder(IP.GetHashCode()))); // TODO: GetHashCode == IP address as number???
+ buffer.AddRange(BitConverter.GetBytes(IPAddress.HostToNetworkOrder(IP.GetHashCode())));
+ // TODO: GetHashCode == IP address as number???
else
{
// TODO: Implement extended serialization format for IP addresses!
diff --git a/src/client/Master/MasterClientMessage.cs b/src/client/Master/MasterClientMessage.cs
index bc9e936..caf2247 100644
--- a/src/client/Master/MasterClientMessage.cs
+++ b/src/client/Master/MasterClientMessage.cs
@@ -71,7 +71,7 @@ namespace NPSharp.Master.Messages
{
var header = buffer.Take(4).ToArray();
var command = Encoding.ASCII.GetString(buffer, 4, buffer.Length - 4).Trim();
- var commandSplit = command.Split(new[] { '\t', '\r', '\n', '\0', ' ' },
+ var commandSplit = command.Split(new[] {'\t', '\r', '\n', '\0', ' '},
StringSplitOptions.RemoveEmptyEntries);
var commandName = commandSplit[0];
@@ -79,11 +79,11 @@ namespace NPSharp.Master.Messages
// Search for a message class which fits to the commandName
var message =
- (MasterClientMessage)Activator.CreateInstance(Assembly.GetExecutingAssembly()
+ (MasterClientMessage) Activator.CreateInstance(Assembly.GetExecutingAssembly()
.GetTypes()
.Single(
t =>
- t.IsSubclassOf(typeof(MasterClientMessage)) &&
+ t.IsSubclassOf(typeof (MasterClientMessage)) &&
t.GetCustomAttribute()
.Name.Equals(commandName, StringComparison.OrdinalIgnoreCase)));
diff --git a/src/client/Master/MasterClientMessageAttribute.cs b/src/client/Master/MasterClientMessageAttribute.cs
index 921cd74..680d7cc 100644
--- a/src/client/Master/MasterClientMessageAttribute.cs
+++ b/src/client/Master/MasterClientMessageAttribute.cs
@@ -11,4 +11,4 @@ namespace NPSharp.Master.Messages
internal string Name { get; private set; }
}
-}
+}
\ No newline at end of file
diff --git a/src/client/NP/NPClient.cs b/src/client/NP/NPClient.cs
index 933822f..960f5cf 100644
--- a/src/client/NP/NPClient.cs
+++ b/src/client/NP/NPClient.cs
@@ -194,7 +194,7 @@ namespace NPSharp.NP
/// Path where to save the file
public async void DownloadUserFileTo(string filename, string targetpath)
{
- byte[] contents = await GetUserFile(filename);
+ var contents = await GetUserFile(filename);
File.WriteAllBytes(targetpath, contents);
}
@@ -231,7 +231,7 @@ namespace NPSharp.NP
/// Path where to save the file
public async void DownloadPublisherFileTo(string filename, string targetpath)
{
- byte[] contents = await GetPublisherFile(filename);
+ var contents = await GetPublisherFile(filename);
File.WriteAllBytes(targetpath, contents);
}
diff --git a/src/client/NPSharp.Client.csproj b/src/client/NPSharp.Client.csproj
index 21d62fd..2ddb00d 100644
--- a/src/client/NPSharp.Client.csproj
+++ b/src/client/NPSharp.Client.csproj
@@ -53,7 +53,7 @@
-
+
diff --git a/src/client/Properties/AssemblyInfo.cs b/src/client/Properties/AssemblyInfo.cs
index 26598b8..e954a29 100644
--- a/src/client/Properties/AssemblyInfo.cs
+++ b/src/client/Properties/AssemblyInfo.cs
@@ -5,6 +5,7 @@ using System.Runtime.InteropServices;
// Allgemeine Informationen über eine Assembly werden über die folgenden
// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
// die mit einer Assembly verknüpft sind.
+
[assembly: AssemblyTitle("NPSharp client library")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
@@ -17,9 +18,11 @@ using System.Runtime.InteropServices;
// Durch Festlegen von ComVisible auf "false" werden die Typen in dieser Assembly unsichtbar
// für COM-Komponenten. Wenn Sie auf einen Typ in dieser Assembly von
// COM zugreifen müssen, legen Sie das ComVisible-Attribut für diesen Typ auf "true" fest.
+
[assembly: ComVisible(false)]
// Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird
+
[assembly: Guid("eb49c20b-b649-42fa-bff4-f62aba36e0b0")]
// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
@@ -32,8 +35,10 @@ using System.Runtime.InteropServices;
// Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern
// übernehmen, indem Sie "*" eingeben:
// [assembly: AssemblyVersion("1.0.*")]
+
[assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyFileVersion("1.0")]
// Make internals visible to the server counterpart of this library
+
[assembly: InternalsVisibleTo("npsharp_server")]
\ No newline at end of file
diff --git a/src/client/RPC/Messages/Data/Ticket.cs b/src/client/RPC/Messages/Data/Ticket.cs
index 6956b48..0f79f3a 100644
--- a/src/client/RPC/Messages/Data/Ticket.cs
+++ b/src/client/RPC/Messages/Data/Ticket.cs
@@ -31,9 +31,17 @@ namespace NPSharp.RPC.Messages.Data
if (time.HasValue)
Time = time.Value;
else
- Time = (uint)DateTime.Now.ToUniversalTime().ToBinary();
+ Time = (uint) DateTime.Now.ToUniversalTime().ToBinary();
}
+ public uint Version { get; private set; }
+
+ public ulong ClientID { get; private set; }
+
+ public ulong ServerID { get; private set; }
+
+ public uint Time { get; private set; }
+
public byte[] Serialize()
{
using (var ms = new MemoryStream(sizeof (uint) + (sizeof (ulong)*2) + sizeof (uint)))
@@ -49,13 +57,5 @@ namespace NPSharp.RPC.Messages.Data
}
}
}
-
- public uint Version { get; private set; }
-
- public ulong ClientID { get; private set; }
-
- public ulong ServerID { get; private set; }
-
- public uint Time { get; private set; }
}
}
\ No newline at end of file
diff --git a/src/client/packages.config b/src/client/packages.config
index 04f4b7d..4210e82 100644
--- a/src/client/packages.config
+++ b/src/client/packages.config
@@ -1,4 +1,5 @@
+
diff --git a/src/npfile/NP2HTTPPublisherFileHandler.cs b/src/npfile/NP2HTTPPublisherFileHandler.cs
index ecadea5..4522d6f 100644
--- a/src/npfile/NP2HTTPPublisherFileHandler.cs
+++ b/src/npfile/NP2HTTPPublisherFileHandler.cs
@@ -24,7 +24,7 @@ namespace NPSharp.CommandLine.File
public Task Handle(IHttpContext context, Func next)
{
- string uri = context.Request.QueryString.Any()
+ var uri = context.Request.QueryString.Any()
? null
: string.Join("/", context.Request.Uri.OriginalString.Split('/').Skip(2));
if (uri == null)
@@ -38,7 +38,7 @@ namespace NPSharp.CommandLine.File
}
_log.InfoFormat("Requesting publisher file {0}", uri);
- Task task = _np.GetPublisherFile(uri);
+ var task = _np.GetPublisherFile(uri);
try
{
task.Wait();
diff --git a/src/npfile/NP2HTTPUserFileHandler.cs b/src/npfile/NP2HTTPUserFileHandler.cs
index 6f355d2..8953b37 100644
--- a/src/npfile/NP2HTTPUserFileHandler.cs
+++ b/src/npfile/NP2HTTPUserFileHandler.cs
@@ -24,7 +24,7 @@ namespace NPSharp.CommandLine.File
public Task Handle(IHttpContext context, Func next)
{
- string uri = context.Request.QueryString.Any()
+ var uri = context.Request.QueryString.Any()
? null
: string.Join("/", context.Request.Uri.OriginalString.Split('/').Skip(2));
if (uri == null)
@@ -38,7 +38,7 @@ namespace NPSharp.CommandLine.File
}
_log.InfoFormat("Requesting user file {0}", uri);
- Task task = _np.GetUserFile(uri);
+ var task = _np.GetUserFile(uri);
try
{
task.Wait();
diff --git a/src/npfile/Program.cs b/src/npfile/Program.cs
index 9de71d1..7f068be 100644
--- a/src/npfile/Program.cs
+++ b/src/npfile/Program.cs
@@ -14,7 +14,6 @@ using uhttpsharp.Handlers;
using uhttpsharp.Headers;
using uhttpsharp.Listeners;
using uhttpsharp.RequestProviders;
-using HttpResponse = uhttpsharp.HttpResponse;
namespace NPSharp.CommandLine.File
{
@@ -96,9 +95,9 @@ namespace NPSharp.CommandLine.File
Console.ReadKey();
}
}
+
private static void SetupLog4Net()
{
-
if (Environment.OSVersion.Platform == PlatformID.Unix || Environment.OSVersion.Platform == PlatformID.MacOSX)
{
var appender = new ConsoleAppender
@@ -110,7 +109,8 @@ namespace NPSharp.CommandLine.File
#endif
Layout = new PatternLayout("<%d{HH:mm:ss}> [%logger:%thread] %level: %message%newline"),
};
- BasicConfigurator.Configure(new IAppender[] { appender, new DebugAppender { Layout = appender.Layout, Threshold = Level.All } });
+ BasicConfigurator.Configure(new IAppender[]
+ {appender, new DebugAppender {Layout = appender.Layout, Threshold = Level.All}});
}
else
{
@@ -150,10 +150,9 @@ namespace NPSharp.CommandLine.File
BackColor = ColoredConsoleAppender.Colors.Red
});
appender.ActivateOptions();
- BasicConfigurator.Configure(new IAppender[] { appender, new DebugAppender { Layout = appender.Layout, Threshold = Level.All } });
+ BasicConfigurator.Configure(new IAppender[]
+ {appender, new DebugAppender {Layout = appender.Layout, Threshold = Level.All}});
}
-
}
-
}
}
\ No newline at end of file
diff --git a/src/npfile/packages.config b/src/npfile/packages.config
index 5012bcf..41edbdf 100644
--- a/src/npfile/packages.config
+++ b/src/npfile/packages.config
@@ -1,4 +1,5 @@
+
diff --git a/src/server/Master/MasterServer.cs b/src/server/Master/MasterServer.cs
index d3746e0..d8eb93c 100644
--- a/src/server/Master/MasterServer.cs
+++ b/src/server/Master/MasterServer.cs
@@ -3,29 +3,27 @@ using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Sockets;
-using System.Threading;
using System.Threading.Tasks;
using log4net;
using NPSharp.Master.Messages;
using NPSharp.Master.Messages.Client;
-using NPSharp.NP;
namespace NPSharp.Master
{
public class MasterServer
{
// TODO: !! Avoid socket fail if stopping then restarting
- private readonly Socket _socket4 = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
- private readonly Socket _socket6 = new Socket(AddressFamily.InterNetworkV6, SocketType.Dgram, ProtocolType.Udp);
-
- private readonly ILog _log;
- private readonly ushort _port;
private readonly List>> _callbacks =
new List>>();
+ private readonly ILog _log;
+ private readonly ushort _port;
+
// TODO: Use the same kind of interfaces as in NP server to handle server addition and deletion
private readonly List _registeredServers = new List();
+ private readonly Socket _socket4 = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
+ private readonly Socket _socket6 = new Socket(AddressFamily.InterNetworkV6, SocketType.Dgram, ProtocolType.Udp);
public MasterServer(ushort port = 20810)
{
@@ -33,18 +31,15 @@ namespace NPSharp.Master
_log = LogManager.GetLogger("MasterServer");
// Internal callbacks
- AddCallback(messages =>
- {
-
- });
+ AddCallback(messages => { });
}
internal void AddCallback(Action callback) where T : MasterClientMessage
{
_callbacks.Add(
new KeyValuePair>(
- typeof(T),
- msg => callback.Invoke((T)msg)));
+ typeof (T),
+ msg => callback.Invoke((T) msg)));
}
///
@@ -86,7 +81,7 @@ namespace NPSharp.Master
while (true)
{
var buffer = new byte[1400];
- var clientEndPoint = (EndPoint)new IPEndPoint(IPAddress.IPv6Any, 0);
+ var clientEndPoint = (EndPoint) new IPEndPoint(IPAddress.IPv6Any, 0);
var recvLength = _socket6.ReceiveFrom(buffer, ref clientEndPoint);
if (recvLength <= buffer.Length)
mergedBuffer.AddRange(buffer);
@@ -118,6 +113,5 @@ namespace NPSharp.Master
_log.DebugFormat("Not handling client {0} anymore", ep);
}
-
}
-}
+}
\ No newline at end of file
diff --git a/src/server/Master/Messages/MasterServerMessage.cs b/src/server/Master/Messages/MasterServerMessage.cs
index 02ee2da..46483a6 100644
--- a/src/server/Master/Messages/MasterServerMessage.cs
+++ b/src/server/Master/Messages/MasterServerMessage.cs
@@ -34,10 +34,10 @@ namespace NPSharp.Master.Messages
internal static MasterServerMessage Deserialize(byte[] buffer)
{
-
var header = buffer.Take(4).ToArray();
var command = Encoding.ASCII.GetString(buffer, 4, buffer.Length - 4).Trim();
- var commandSplit = command.Split(new[] { '\t', '\r', '\n', '\0', ' ' }, // TODO: Response consists of multipart messages separated by \ instead of ?? Try to be stay as close to client messages as possible.
+ var commandSplit = command.Split(new[] {'\t', '\r', '\n', '\0', ' '},
+ // TODO: Response consists of multipart messages separated by \ instead of ?? Try to be stay as close to client messages as possible.
StringSplitOptions.RemoveEmptyEntries);
var commandName = commandSplit[0];
@@ -45,11 +45,11 @@ namespace NPSharp.Master.Messages
// Search for a message class which fits to the commandName
var message =
- (MasterServerMessage)Activator.CreateInstance(Assembly.GetExecutingAssembly()
+ (MasterServerMessage) Activator.CreateInstance(Assembly.GetExecutingAssembly()
.GetTypes()
.Single(
t =>
- t.IsSubclassOf(typeof(MasterServerMessage)) &&
+ t.IsSubclassOf(typeof (MasterServerMessage)) &&
t.GetCustomAttribute()
.Name.Equals(commandName, StringComparison.OrdinalIgnoreCase)));
diff --git a/src/server/Master/Messages/MasterServerMessageAttribute.cs b/src/server/Master/Messages/MasterServerMessageAttribute.cs
index 0ee0ad4..fbe6d77 100644
--- a/src/server/Master/Messages/MasterServerMessageAttribute.cs
+++ b/src/server/Master/Messages/MasterServerMessageAttribute.cs
@@ -11,4 +11,4 @@ namespace NPSharp.Master.Messages
public string Name { get; private set; }
}
-}
+}
\ No newline at end of file
diff --git a/src/server/NP/NPServer.cs b/src/server/NP/NPServer.cs
index 938b94d..820f429 100644
--- a/src/server/NP/NPServer.cs
+++ b/src/server/NP/NPServer.cs
@@ -35,9 +35,9 @@ namespace NPSharp.NP
{
_log = LogManager.GetLogger("NPServer");
_clients = new List();
-
+
#if MONO_INCOMPATIBLE
- // Mono can't compile this since the constructor is proprietary to Windows' .NET library
+ // Mono can't compile this since the constructor is proprietary to Windows' .NET library
_socket = new Socket(SocketType.Stream, ProtocolType.IP);
// Mono can't compile this either since the IPv6Only socket option is completely missing.
@@ -105,7 +105,7 @@ namespace NPSharp.NP
_log.Error("Socket permission request failed, can't start server.");
throw new SocketException(10013 /* Permission denied */);
}
-
+
#if MONO_INCOMPATIBLE
_socket.Bind(new IPEndPoint(IPAddress.IPv6Any, _port));
_socket.Listen(100);
@@ -153,7 +153,7 @@ namespace NPSharp.NP
}
_log.Debug("Listener loop shut down");
});
-
+
#if !MONO_INCOMPATIBLE
Task.Factory.StartNew(() =>
{
@@ -168,7 +168,7 @@ namespace NPSharp.NP
_log.Debug("Async accept (IPv6) client start");
allDone.Set();
- var serverSocket = (Socket)ar.AsyncState;
+ var serverSocket = (Socket) ar.AsyncState;
var clientSocket = serverSocket.EndAccept(ar);
var npsc = new NPServerClient(this, new RPCServerStream(clientSocket));
diff --git a/src/server/NP/NPServerClient.cs b/src/server/NP/NPServerClient.cs
index 72c1df5..e569d8a 100644
--- a/src/server/NP/NPServerClient.cs
+++ b/src/server/NP/NPServerClient.cs
@@ -56,4 +56,4 @@ namespace NPSharp.NP
_presence[key] = value;
}
}
-}
+}
\ No newline at end of file
diff --git a/src/server/Properties/AssemblyInfo.cs b/src/server/Properties/AssemblyInfo.cs
index f4c8dac..2291f1e 100644
--- a/src/server/Properties/AssemblyInfo.cs
+++ b/src/server/Properties/AssemblyInfo.cs
@@ -4,6 +4,7 @@ using System.Runtime.InteropServices;
// Allgemeine Informationen über eine Assembly werden über die folgenden
// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
// die mit einer Assembly verknüpft sind.
+
[assembly: AssemblyTitle("NPSharp server library")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
diff --git a/src/server/app.config b/src/server/app.config
index a01ef9c..e63f192 100644
--- a/src/server/app.config
+++ b/src/server/app.config
@@ -1,4 +1,5 @@
+