Moved access control to IMultiplayerServer
This commit is contained in:
parent
46ae88001b
commit
1eaf36ffda
@ -38,5 +38,9 @@ namespace TrueCraft.API.Server
|
||||
void Log(LogCategory category, string text, params object[] parameters);
|
||||
IEntityManager GetEntityManagerForWorld(IWorld world);
|
||||
void SendMessage(string message, params object[] parameters);
|
||||
|
||||
bool PlayerIsWhitelisted(IRemoteClient client);
|
||||
bool PlayerIsBlacklisted(IRemoteClient client);
|
||||
bool PlayerIsOp(IRemoteClient client);
|
||||
}
|
||||
}
|
@ -29,7 +29,7 @@ namespace TrueCraft.Handlers
|
||||
remoteClient.QueuePacket(new DisconnectPacket("Server outdated! Use beta 1.7.3."));
|
||||
else if (server.Worlds.Count == 0)
|
||||
remoteClient.QueuePacket(new DisconnectPacket("Server has no worlds configured."));
|
||||
else if (!PlayerIsWhitelisted(remoteClient, server) && PlayerIsBlacklisted(remoteClient, server))
|
||||
else if (!server.PlayerIsWhitelisted(remoteClient) && server.PlayerIsBlacklisted(remoteClient))
|
||||
remoteClient.QueuePacket(new DisconnectPacket("You're banned from this server"));
|
||||
else
|
||||
{
|
||||
@ -65,15 +65,5 @@ namespace TrueCraft.Handlers
|
||||
server.SendMessage(ChatColor.Yellow + "{0} joined the server.", remoteClient.Username);
|
||||
}
|
||||
}
|
||||
|
||||
private static bool PlayerIsWhitelisted(IRemoteClient client, IMultiplayerServer server)
|
||||
{
|
||||
return server.AccessConfiguration.Whitelist.Contains(client.Username, StringComparer.CurrentCultureIgnoreCase);
|
||||
}
|
||||
|
||||
private static bool PlayerIsBlacklisted(IRemoteClient client, IMultiplayerServer server)
|
||||
{
|
||||
return server.AccessConfiguration.Blacklist.Contains(client.Username, StringComparer.CurrentCultureIgnoreCase);
|
||||
}
|
||||
}
|
||||
}
|
@ -6,6 +6,7 @@ using System.Threading;
|
||||
using System.Net.Sockets;
|
||||
using System.Net;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using TrueCraft.API.World;
|
||||
using TrueCraft.API.Logging;
|
||||
using TrueCraft.Core.Networking.Packets;
|
||||
@ -195,7 +196,7 @@ namespace TrueCraft
|
||||
|
||||
public void SendMessage(string message, params object[] parameters)
|
||||
{
|
||||
var compiled = string.Format(message, parameters);
|
||||
var compiled = String.Format(message, parameters);
|
||||
var parts = compiled.Split('\n');
|
||||
foreach (var client in Clients)
|
||||
{
|
||||
@ -363,5 +364,20 @@ namespace TrueCraft
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public bool PlayerIsWhitelisted(IRemoteClient client)
|
||||
{
|
||||
return AccessConfiguration.Whitelist.Contains(client.Username, StringComparer.CurrentCultureIgnoreCase);
|
||||
}
|
||||
|
||||
public bool PlayerIsBlacklisted(IRemoteClient client)
|
||||
{
|
||||
return AccessConfiguration.Blacklist.Contains(client.Username, StringComparer.CurrentCultureIgnoreCase);
|
||||
}
|
||||
|
||||
public bool PlayerIsOp(IRemoteClient client)
|
||||
{
|
||||
return AccessConfiguration.Oplist.Contains(client.Username, StringComparer.CurrentCultureIgnoreCase);
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user