@@ -15,6 +15,7 @@ using System.IO;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using OpenRA.FileSystem;
|
||||
using MaxMind.GeoIP2;
|
||||
using OpenRA.GameRules;
|
||||
using OpenRA.Graphics;
|
||||
using OpenRA.Network;
|
||||
@@ -42,6 +43,8 @@ namespace OpenRA
|
||||
public static Renderer Renderer;
|
||||
public static bool HasInputFocus = false;
|
||||
|
||||
public static DatabaseReader GeoIpDatabase;
|
||||
|
||||
public static void JoinServer(string host, int port, string password)
|
||||
{
|
||||
JoinInner(new OrderManager(host, port, password,
|
||||
@@ -291,6 +294,7 @@ namespace OpenRA
|
||||
Log.AddChannel("server", "server.log");
|
||||
Log.AddChannel("sound", "sound.log");
|
||||
Log.AddChannel("graphics", "graphics.log");
|
||||
Log.AddChannel("geoip", "geoip.log");
|
||||
|
||||
if (Settings.Server.DiscoverNatDevices)
|
||||
UPnP.TryNatDiscovery();
|
||||
@@ -300,6 +304,15 @@ namespace OpenRA
|
||||
Settings.Server.AllowPortForward = false;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
GeoIpDatabase = new DatabaseReader("GeoLite2-Country.mmdb");
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Log.Write("geoip", "DatabaseReader failed: {0}", e);
|
||||
}
|
||||
|
||||
GlobalFileSystem.Mount("."); // Needed to access shaders
|
||||
var renderers = new[] { Settings.Graphics.Renderer, "Sdl2", "Gl", "Cg", null };
|
||||
foreach (var r in renderers)
|
||||
|
||||
Reference in New Issue
Block a user