From 5e7130aa8863282d5e20d96e86712e572fd0606d Mon Sep 17 00:00:00 2001 From: Deathmax Date: Thu, 23 Jun 2011 22:07:34 +0800 Subject: [PATCH] users.txt can now use a hostname. --- TShockAPI/Tools.cs | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/TShockAPI/Tools.cs b/TShockAPI/Tools.cs index f4aeaf8e..9d8f4286 100755 --- a/TShockAPI/Tools.cs +++ b/TShockAPI/Tools.cs @@ -19,6 +19,7 @@ using System; using System.Collections.Generic; using System.IO; using System.Text; +using System.Net; using Microsoft.Xna.Framework; using Terraria; @@ -555,13 +556,35 @@ namespace TShockAPI { continue; } - if (args[0].Equals(ip)) + try { - return GetGroup(args[1]); + var hi = GetIPv4Address(args[0]); + if (GetIPv4Address(args[0]).Equals(ip)) + return GetGroup(args[1]); } + catch (Exception ex) + { Log.Error(ex.ToString()); } } sr.Close(); return GetGroup("default"); } + + /// + /// Returns an IPv4 address from a DNS query + /// + /// string ip + public static string GetIPv4Address(string hostname) + { + string IP4Address = String.Empty; + foreach (IPAddress IPA in Dns.GetHostAddresses(hostname)) + { + if (IPA.AddressFamily.ToString() == "InterNetwork") + { + IP4Address = IPA.ToString(); + break; + } + } + return IP4Address; + } } } \ No newline at end of file