Serverlog message types (which atm only determine the color of the message)

This commit is contained in:
Regalis
2017-05-09 19:56:12 +03:00
parent bee570e2e3
commit c2d918073e
21 changed files with 113 additions and 85 deletions
+2 -2
View File
@@ -1720,7 +1720,7 @@ namespace Barotrauma
var attackingCharacter = attacker as Character; var attackingCharacter = attacker as Character;
if (attackingCharacter != null && attackingCharacter.AIController == null) if (attackingCharacter != null && attackingCharacter.AIController == null)
{ {
GameServer.Log(Name + " attacked by " + attackingCharacter.Name+". Damage: "+attackResult.Damage+" Bleeding damage: "+attackResult.Bleeding, Color.Orange); GameServer.Log(Name + " attacked by " + attackingCharacter.Name+". Damage: "+attackResult.Damage+" Bleeding damage: "+attackResult.Bleeding, ServerLog.MessageType.Attack);
} }
return attackResult; return attackResult;
@@ -1857,7 +1857,7 @@ namespace Barotrauma
AnimController.Frozen = false; AnimController.Frozen = false;
GameServer.Log(Name+" has died (Cause of death: "+causeOfDeath+")", Color.Red); GameServer.Log(Name+" has died (Cause of death: "+causeOfDeath+")", ServerLog.MessageType.Attack);
if (OnDeath != null) OnDeath(this, causeOfDeath); if (OnDeath != null) OnDeath(this, causeOfDeath);
+3 -2
View File
@@ -1,4 +1,5 @@
using Microsoft.Xna.Framework; using Barotrauma.Networking;
using Microsoft.Xna.Framework;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
@@ -243,7 +244,7 @@ namespace Barotrauma
string header = index < headers.Count ? headers[index] : ""; string header = index < headers.Count ? headers[index] : "";
string message = index < messages.Count ? messages[index] : ""; string message = index < messages.Count ? messages[index] : "";
Barotrauma.Networking.GameServer.Log("Mission info: " + header + " - " + message, Color.Cyan); GameServer.Log("Mission info: " + header + " - " + message, ServerLog.MessageType.Error);
new GUIMessageBox(header, message); new GUIMessageBox(header, message);
} }
@@ -30,9 +30,8 @@ namespace Barotrauma
var missionMsg = new GUIMessageBox(mission.Name, mission.Description, 400, 400); var missionMsg = new GUIMessageBox(mission.Name, mission.Description, 400, 400);
missionMsg.UserData = "missionstartmessage"; missionMsg.UserData = "missionstartmessage";
Networking.GameServer.Log("Mission: " + mission.Name, Color.Cyan); Networking.GameServer.Log("Mission: " + mission.Name, Networking.ServerLog.MessageType.Error);
Networking.GameServer.Log(mission.Description, Color.Cyan); Networking.GameServer.Log(mission.Description, Networking.ServerLog.MessageType.Error);
} }
} }
} }
@@ -752,12 +752,12 @@ namespace Barotrauma.Items.Components
if (docked) if (docked)
{ {
if (item.Submarine != null && dockingTarget?.item?.Submarine != null) if (item.Submarine != null && dockingTarget?.item?.Submarine != null)
GameServer.Log(sender.Name + " docked "+item.Submarine.Name+" to "+dockingTarget.item.Submarine, Color.White); GameServer.Log(sender.Name + " docked " + item.Submarine.Name + " to " + dockingTarget.item.Submarine, ServerLog.MessageType.ItemInteraction);
} }
else else
{ {
if (item.Submarine != null && prevDockingTarget?.item?.Submarine != null) if (item.Submarine != null && prevDockingTarget?.item?.Submarine != null)
GameServer.Log(sender.Name + " undocked " + item.Submarine.Name + " from " + prevDockingTarget.item.Submarine, Color.White); GameServer.Log(sender.Name + " undocked " + item.Submarine.Name + " from " + prevDockingTarget.item.Submarine, ServerLog.MessageType.ItemInteraction);
} }
} }
} }
+1 -1
View File
@@ -501,7 +501,7 @@ namespace Barotrauma.Items.Components
if (sender != null && wasOpen != isOpen) if (sender != null && wasOpen != isOpen)
{ {
GameServer.Log(sender.Name + (isOpen ? " opened " : " closed ") + item.Name, Color.White); GameServer.Log(sender.Name + (isOpen ? " opened " : " closed ") + item.Name, ServerLog.MessageType.ItemInteraction);
} }
} }
@@ -167,7 +167,7 @@ namespace Barotrauma.Items.Components
item.body.Enabled = true; item.body.Enabled = true;
IsActive = true; IsActive = true;
if (!alreadySelected) Barotrauma.Networking.GameServer.Log(character.Name+" equipped "+item.Name, Color.Orange); if (!alreadySelected) Networking.GameServer.Log(character.Name + " equipped " + item.Name, Networking.ServerLog.MessageType.ItemInteraction);
} }
} }
@@ -177,7 +177,7 @@ namespace Barotrauma.Items.Components
picker.DeselectItem(item); picker.DeselectItem(item);
Barotrauma.Networking.GameServer.Log(character.Name + " unequipped " + item.Name, Color.Orange); Networking.GameServer.Log(character.Name + " unequipped " + item.Name, Networking.ServerLog.MessageType.ItemInteraction);
item.body.Enabled = false; item.body.Enabled = false;
IsActive = false; IsActive = false;
@@ -250,7 +250,7 @@ namespace Barotrauma.Items.Components
logStr += "(" + string.Join(", ", item.ContainedItems.Select(i => i?.Name)) + ")"; logStr += "(" + string.Join(", ", item.ContainedItems.Select(i => i?.Name)) + ")";
} }
logStr += " on " + target + "."; logStr += " on " + target + ".";
Networking.GameServer.Log(logStr, Color.Orange); Networking.GameServer.Log(logStr, Networking.ServerLog.MessageType.Attack);
} }
ApplyStatusEffects(ActionType.OnUse, 1.0f, limb.character); ApplyStatusEffects(ActionType.OnUse, 1.0f, limb.character);
@@ -77,7 +77,7 @@ namespace Barotrauma.Items.Components
if (GameMain.Server != null) if (GameMain.Server != null)
{ {
item.CreateServerEvent(this); item.CreateServerEvent(this);
GameServer.Log(Character.Controlled + (IsActive ? " turned on " : " turned off ") + item.Name, Color.Orange); GameServer.Log(Character.Controlled + (IsActive ? " turned on " : " turned off ") + item.Name, ServerLog.MessageType.ItemInteraction);
} }
else if (GameMain.Client != null) else if (GameMain.Client != null)
{ {
@@ -96,7 +96,7 @@ namespace Barotrauma.Items.Components
if (GameMain.Server != null) if (GameMain.Server != null)
{ {
item.CreateServerEvent(this); item.CreateServerEvent(this);
GameServer.Log(Character.Controlled + " set the pumping speed of " + item.Name + " to " + (int)(flowPercentage) + " %", Color.Orange); GameServer.Log(Character.Controlled + " set the pumping speed of " + item.Name + " to " + (int)(flowPercentage) + " %", ServerLog.MessageType.ItemInteraction);
} }
else if (GameMain.Client != null) else if (GameMain.Client != null)
{ {
@@ -115,7 +115,7 @@ namespace Barotrauma.Items.Components
if (GameMain.Server != null) if (GameMain.Server != null)
{ {
item.CreateServerEvent(this); item.CreateServerEvent(this);
GameServer.Log(Character.Controlled + " set the pumping speed of " + item.Name + " to " + (int)(flowPercentage) + " %", Color.Orange); GameServer.Log(Character.Controlled + " set the pumping speed of " + item.Name + " to " + (int)(flowPercentage) + " %", ServerLog.MessageType.ItemInteraction);
} }
else if (GameMain.Client != null) else if (GameMain.Client != null)
{ {
@@ -249,11 +249,11 @@ namespace Barotrauma.Items.Components
{ {
if (newFlowPercentage != FlowPercentage) if (newFlowPercentage != FlowPercentage)
{ {
GameServer.Log(c.Character + " set the pumping speed of " + item.Name + " to " + (int)(newFlowPercentage) + " %", Color.Orange); GameServer.Log(c.Character + " set the pumping speed of " + item.Name + " to " + (int)(newFlowPercentage) + " %", ServerLog.MessageType.ItemInteraction);
} }
if (newIsActive != IsActive) if (newIsActive != IsActive)
{ {
GameServer.Log(c.Character + (newIsActive ? " turned on " : " turned off ") + item.Name, Color.Orange); GameServer.Log(c.Character + (newIsActive ? " turned on " : " turned off ") + item.Name, ServerLog.MessageType.ItemInteraction);
} }
FlowPercentage = newFlowPercentage; FlowPercentage = newFlowPercentage;
@@ -263,7 +263,7 @@ namespace Barotrauma.Items.Components
", Cooling rate: " + (int)coolingRate + ", Cooling rate: " + (int)coolingRate +
", Cooling rate: " + coolingRate + ", Cooling rate: " + coolingRate +
", Shutdown temp: " + shutDownTemp, ", Shutdown temp: " + shutDownTemp,
Color.Orange); ServerLog.MessageType.ItemInteraction);
nextServerLogWriteTime = null; nextServerLogWriteTime = null;
lastServerLogWriteTime = (float)Timing.TotalTime; lastServerLogWriteTime = (float)Timing.TotalTime;
@@ -414,7 +414,7 @@ namespace Barotrauma.Items.Components
{ {
if (item.Condition <= 0.0f) return; if (item.Condition <= 0.0f) return;
GameServer.Log("Reactor meltdown!", Color.Red); GameServer.Log("Reactor meltdown!", ServerLog.MessageType.ItemInteraction);
new RepairTask(item, 60.0f, "Reactor meltdown!"); new RepairTask(item, 60.0f, "Reactor meltdown!");
item.Condition = 0.0f; item.Condition = 0.0f;
@@ -102,7 +102,7 @@ namespace Barotrauma.Items.Components
if (GameMain.Server != null) if (GameMain.Server != null)
{ {
item.CreateServerEvent(this); item.CreateServerEvent(this);
GameServer.Log(Character.Controlled + " set the recharge speed of " + item.Name + " to " + (int)((rechargeSpeed / maxRechargeSpeed) * 100.0f) + " %", Color.Orange); GameServer.Log(Character.Controlled + " set the recharge speed of " + item.Name + " to " + (int)((rechargeSpeed / maxRechargeSpeed) * 100.0f) + " %", ServerLog.MessageType.ItemInteraction);
} }
else if (GameMain.Client != null) else if (GameMain.Client != null)
{ {
@@ -121,7 +121,7 @@ namespace Barotrauma.Items.Components
if (GameMain.Server != null) if (GameMain.Server != null)
{ {
item.CreateServerEvent(this); item.CreateServerEvent(this);
GameServer.Log(Character.Controlled + " set the recharge speed of " + item.Name + " to " + (int)((rechargeSpeed / maxRechargeSpeed) * 100.0f) + " %", Color.Orange); GameServer.Log(Character.Controlled + " set the recharge speed of " + item.Name + " to " + (int)((rechargeSpeed / maxRechargeSpeed) * 100.0f) + " %", ServerLog.MessageType.ItemInteraction);
} }
else if (GameMain.Client != null) else if (GameMain.Client != null)
{ {
@@ -289,7 +289,7 @@ namespace Barotrauma.Items.Components
if (item.CanClientAccess(c)) if (item.CanClientAccess(c))
{ {
RechargeSpeed = newRechargeSpeed; RechargeSpeed = newRechargeSpeed;
GameServer.Log(c.Character + " set the recharge speed of "+item.Name+" to "+ (int)((rechargeSpeed / maxRechargeSpeed) * 100.0f) + " %", Color.Orange); GameServer.Log(c.Character + " set the recharge speed of "+item.Name+" to "+ (int)((rechargeSpeed / maxRechargeSpeed) * 100.0f) + " %", ServerLog.MessageType.ItemInteraction);
} }
item.CreateServerEvent(this); item.CreateServerEvent(this);
@@ -215,7 +215,7 @@ namespace Barotrauma.Items.Components
} }
} }
Networking.GameServer.Log(item.Name + " rewired by " + c.Character.Name, Color.Orange); Networking.GameServer.Log(item.Name + " rewired by " + c.Character.Name, ServerLog.MessageType.ItemInteraction);
//update the connections //update the connections
for (int i = 0; i < Connections.Count; i++) for (int i = 0; i < Connections.Count; i++)
@@ -233,7 +233,7 @@ namespace Barotrauma.Items.Components
Networking.GameServer.Log( Networking.GameServer.Log(
item.Name + " (" + Connections[i].Name + ") -> " + item.Name + " (" + Connections[i].Name + ") -> " +
(otherConnection == null ? "none" : otherConnection.Item.Name + " (" + (otherConnection.Name) + ")"), Color.Orange); (otherConnection == null ? "none" : otherConnection.Item.Name + " (" + (otherConnection.Name) + ")"), ServerLog.MessageType.ItemInteraction);
} }
} }
+1 -1
View File
@@ -194,7 +194,7 @@ namespace Barotrauma.Items.Components
if (character != null) if (character != null)
{ {
GameServer.Log(character.Name + " launched " + item.Name, Color.Orange); GameServer.Log(character.Name + " launched " + item.Name, ServerLog.MessageType.ItemInteraction);
} }
return true; return true;
+4 -4
View File
@@ -590,11 +590,11 @@ namespace Barotrauma
{ {
if (Owner == c.Character) if (Owner == c.Character)
{ {
GameServer.Log(c.Character + " picked up " + item.Name, Color.Orange); GameServer.Log(c.Character + " picked up " + item.Name, ServerLog.MessageType.ItemInteraction);
} }
else else
{ {
GameServer.Log(c.Character + " placed " + item.Name + " in " + Owner, Color.Orange); GameServer.Log(c.Character + " placed " + item.Name + " in " + Owner, ServerLog.MessageType.ItemInteraction);
} }
} }
} }
@@ -605,11 +605,11 @@ namespace Barotrauma
{ {
if (Owner == c.Character) if (Owner == c.Character)
{ {
GameServer.Log(c.Character + " dropped " + item.Name, Color.Orange); GameServer.Log(c.Character + " dropped " + item.Name, ServerLog.MessageType.ItemInteraction);
} }
else else
{ {
GameServer.Log(c.Character + " removed " + item.Name + " from " + Owner, Color.Orange); GameServer.Log(c.Character + " removed " + item.Name + " from " + Owner, ServerLog.MessageType.ItemInteraction);
} }
} }
} }
+1 -1
View File
@@ -1875,7 +1875,7 @@ namespace Barotrauma
ApplyStatusEffects(ActionType.OnUse, (float)Timing.Step, c.Character); ApplyStatusEffects(ActionType.OnUse, (float)Timing.Step, c.Character);
GameServer.Log(c.Character.Name +" used item "+Name, Color.White); GameServer.Log(c.Character.Name + " used item " + Name, ServerLog.MessageType.ItemInteraction);
GameMain.Server.CreateEntityEvent(this, new object[] { NetEntityEvent.Type.ApplyStatusEffect, c.Character.ID }); GameMain.Server.CreateEntityEvent(this, new object[] { NetEntityEvent.Type.ApplyStatusEffect, c.Character.ID });
+2 -2
View File
@@ -125,7 +125,7 @@ namespace Barotrauma.Networking
if (banned == null) return false; if (banned == null) return false;
DebugConsole.Log("Removing ban from " + banned.Name); DebugConsole.Log("Removing ban from " + banned.Name);
GameServer.Log("Removing ban from " + banned.Name, null); GameServer.Log("Removing ban from " + banned.Name, ServerLog.MessageType.ServerMessage);
bannedPlayers.Remove(banned); bannedPlayers.Remove(banned);
@@ -189,7 +189,7 @@ namespace Barotrauma.Networking
public void Save() public void Save()
{ {
GameServer.Log("Saving banlist", null); GameServer.Log("Saving banlist", ServerLog.MessageType.ServerMessage);
List<string> lines = new List<string>(); List<string> lines = new List<string>();
+26 -26
View File
@@ -164,7 +164,7 @@ namespace Barotrauma.Networking
bool error = false; bool error = false;
try try
{ {
Log("Starting the server...", Color.Cyan); Log("Starting the server...", ServerLog.MessageType.ServerMessage);
server = new NetServer(config); server = new NetServer(config);
netPeer = server; netPeer = server;
@@ -176,7 +176,7 @@ namespace Barotrauma.Networking
} }
catch (Exception e) catch (Exception e)
{ {
Log("Error while starting the server (" + e.Message + ")", Color.Red); Log("Error while starting the server (" + e.Message + ")", ServerLog.MessageType.Error);
System.Net.Sockets.SocketException socketException = e as System.Net.Sockets.SocketException; System.Net.Sockets.SocketException socketException = e as System.Net.Sockets.SocketException;
@@ -233,7 +233,7 @@ namespace Barotrauma.Networking
updateInterval = new TimeSpan(0, 0, 0, 0, 150); updateInterval = new TimeSpan(0, 0, 0, 0, 150);
Log("Server started", Color.Cyan); Log("Server started", ServerLog.MessageType.ServerMessage);
GameMain.NetLobbyScreen.Select(); GameMain.NetLobbyScreen.Select();
started = true; started = true;
@@ -266,7 +266,7 @@ namespace Barotrauma.Networking
{ {
restRequestHandle.Abort(); restRequestHandle.Abort();
DebugConsole.NewMessage("Couldn't register to master server (request timed out)", Color.Red); DebugConsole.NewMessage("Couldn't register to master server (request timed out)", Color.Red);
Log("Couldn't register to master server (request timed out)", Color.Red); Log("Couldn't register to master server (request timed out)", ServerLog.MessageType.Error);
yield return CoroutineStatus.Success; yield return CoroutineStatus.Success;
} }
@@ -304,7 +304,7 @@ namespace Barotrauma.Networking
request.AddParameter("currplayers", connectedClients.Count); request.AddParameter("currplayers", connectedClients.Count);
request.AddParameter("maxplayers", MaxPlayers); request.AddParameter("maxplayers", MaxPlayers);
Log("Refreshing connection with master server...", Color.Cyan); Log("Refreshing connection with master server...", ServerLog.MessageType.ServerMessage);
var sw = new Stopwatch(); var sw = new Stopwatch();
sw.Start(); sw.Start();
@@ -320,7 +320,7 @@ namespace Barotrauma.Networking
{ {
restRequestHandle.Abort(); restRequestHandle.Abort();
DebugConsole.NewMessage("Couldn't connect to master server (request timed out)", Color.Red); DebugConsole.NewMessage("Couldn't connect to master server (request timed out)", Color.Red);
Log("Couldn't connect to master server (request timed out)", Color.Red); Log("Couldn't connect to master server (request timed out)", ServerLog.MessageType.Error);
yield return CoroutineStatus.Success; yield return CoroutineStatus.Success;
} }
@@ -329,22 +329,22 @@ namespace Barotrauma.Networking
if (masterServerResponse.Content == "Error: server not found") if (masterServerResponse.Content == "Error: server not found")
{ {
Log("Not registered to master server, re-registering...", Color.Red); Log("Not registered to master server, re-registering...", ServerLog.MessageType.Error);
CoroutineManager.StartCoroutine(RegisterToMasterServer()); CoroutineManager.StartCoroutine(RegisterToMasterServer());
} }
else if (masterServerResponse.ErrorException != null) else if (masterServerResponse.ErrorException != null)
{ {
DebugConsole.NewMessage("Error while registering to master server (" + masterServerResponse.ErrorException + ")", Color.Red); DebugConsole.NewMessage("Error while registering to master server (" + masterServerResponse.ErrorException + ")", Color.Red);
Log("Error while registering to master server (" + masterServerResponse.ErrorException + ")", Color.Red); Log("Error while registering to master server (" + masterServerResponse.ErrorException + ")", ServerLog.MessageType.Error);
} }
else if (masterServerResponse.StatusCode != System.Net.HttpStatusCode.OK) else if (masterServerResponse.StatusCode != System.Net.HttpStatusCode.OK)
{ {
DebugConsole.NewMessage("Error while reporting to master server (" + masterServerResponse.StatusCode + ": " + masterServerResponse.StatusDescription + ")", Color.Red); DebugConsole.NewMessage("Error while reporting to master server (" + masterServerResponse.StatusCode + ": " + masterServerResponse.StatusDescription + ")", Color.Red);
Log("Error while reporting to master server (" + masterServerResponse.StatusCode + ": " + masterServerResponse.StatusDescription + ")", Color.Red); Log("Error while reporting to master server (" + masterServerResponse.StatusCode + ": " + masterServerResponse.StatusDescription + ")", ServerLog.MessageType.Error);
} }
else else
{ {
Log("Master server responded", Color.Cyan); Log("Master server responded", ServerLog.MessageType.ServerMessage);
} }
System.Diagnostics.Debug.WriteLine("took "+sw.ElapsedMilliseconds+" ms"); System.Diagnostics.Debug.WriteLine("took "+sw.ElapsedMilliseconds+" ms");
@@ -406,11 +406,11 @@ namespace Barotrauma.Networking
{ {
if (AutoRestart && isCrewDead) if (AutoRestart && isCrewDead)
{ {
Log("Ending round (entire crew dead)", Color.Cyan); Log("Ending round (entire crew dead)", ServerLog.MessageType.ServerMessage);
} }
else else
{ {
Log("Ending round (submarine reached the end of the level)", Color.Cyan); Log("Ending round (submarine reached the end of the level)", ServerLog.MessageType.ServerMessage);
} }
EndGame(); EndGame();
@@ -777,7 +777,7 @@ namespace Barotrauma.Networking
if (!c.HasPermission(command)) if (!c.HasPermission(command))
{ {
Log("Client \""+c.name+"\" sent a server command \""+command+"\". Permission denied.", Color.Red); Log("Client \""+c.name+"\" sent a server command \""+command+"\". Permission denied.", ServerLog.MessageType.ServerMessage);
return; return;
} }
@@ -788,7 +788,7 @@ namespace Barotrauma.Networking
var kickedClient = connectedClients.Find(cl => cl != c && cl.name == kickedName); var kickedClient = connectedClients.Find(cl => cl != c && cl.name == kickedName);
if (kickedClient != null) if (kickedClient != null)
{ {
Log("Client \"" + c.name + "\" kicked \"" + kickedClient.name + "\".", Color.Red); Log("Client \"" + c.name + "\" kicked \"" + kickedClient.name + "\".", ServerLog.MessageType.ServerMessage);
KickClient(kickedClient, false, false); KickClient(kickedClient, false, false);
} }
break; break;
@@ -797,14 +797,14 @@ namespace Barotrauma.Networking
var bannedClient = connectedClients.Find(cl => cl != c && cl.name == bannedName); var bannedClient = connectedClients.Find(cl => cl != c && cl.name == bannedName);
if (bannedClient != null) if (bannedClient != null)
{ {
Log("Client \"" + c.name + "\" banned \"" + bannedClient.name + "\".", Color.Red); Log("Client \"" + c.name + "\" banned \"" + bannedClient.name + "\".", ServerLog.MessageType.ServerMessage);
KickClient(bannedClient, true, false); KickClient(bannedClient, true, false);
} }
break; break;
case ClientPermissions.EndRound: case ClientPermissions.EndRound:
if (gameStarted) if (gameStarted)
{ {
Log("Client \"" + c.name + "\" ended the round.", Color.Cyan); Log("Client \"" + c.name + "\" ended the round.", ServerLog.MessageType.ServerMessage);
EndGame(); EndGame();
} }
break; break;
@@ -1088,10 +1088,10 @@ namespace Barotrauma.Networking
GameMain.GameSession.StartShift(GameMain.NetLobbyScreen.LevelSeed, teamCount > 1); GameMain.GameSession.StartShift(GameMain.NetLobbyScreen.LevelSeed, teamCount > 1);
GameServer.Log("Starting a new round...", Color.Cyan); GameServer.Log("Starting a new round...", ServerLog.MessageType.ServerMessage);
GameServer.Log("Submarine: " + selectedSub.Name, Color.Cyan); GameServer.Log("Submarine: " + selectedSub.Name, ServerLog.MessageType.ServerMessage);
GameServer.Log("Game mode: " + selectedMode.Name, Color.Cyan); GameServer.Log("Game mode: " + selectedMode.Name, ServerLog.MessageType.ServerMessage);
GameServer.Log("Level seed: " + GameMain.NetLobbyScreen.LevelSeed, Color.Cyan); GameServer.Log("Level seed: " + GameMain.NetLobbyScreen.LevelSeed, ServerLog.MessageType.ServerMessage);
bool missionAllowRespawn = bool missionAllowRespawn =
!(GameMain.GameSession.gameMode is MissionMode) || !(GameMain.GameSession.gameMode is MissionMode) ||
@@ -1166,7 +1166,7 @@ namespace Barotrauma.Networking
if (TraitorManager.TraitorCharacter!=null && TraitorManager.TargetCharacter != null) if (TraitorManager.TraitorCharacter!=null && TraitorManager.TargetCharacter != null)
{ {
Log(TraitorManager.TraitorCharacter.Name + " is the traitor and the target is " + TraitorManager.TargetCharacter.Name, Color.Cyan); Log(TraitorManager.TraitorCharacter.Name + " is the traitor and the target is " + TraitorManager.TargetCharacter.Name, ServerLog.MessageType.ServerMessage);
} }
} }
@@ -1409,7 +1409,7 @@ namespace Barotrauma.Networking
if (string.IsNullOrWhiteSpace(msg)) msg = client.name + " has left the server"; if (string.IsNullOrWhiteSpace(msg)) msg = client.name + " has left the server";
if (string.IsNullOrWhiteSpace(targetmsg)) targetmsg = "You have left the server"; if (string.IsNullOrWhiteSpace(targetmsg)) targetmsg = "You have left the server";
Log(msg, ChatMessage.MessageColor[(int)ChatMessageType.Server]); Log(msg, ServerLog.MessageType.ServerMessage);
client.Connection.Disconnect(targetmsg); client.Connection.Disconnect(targetmsg);
@@ -1818,7 +1818,7 @@ namespace Barotrauma.Networking
if (Voting.AllowEndVoting && EndVoteMax > 0 && if (Voting.AllowEndVoting && EndVoteMax > 0 &&
((float)EndVoteCount / (float)EndVoteMax) >= EndVoteRequiredRatio) ((float)EndVoteCount / (float)EndVoteMax) >= EndVoteRequiredRatio)
{ {
Log("Ending round by votes (" + EndVoteCount + "/" + (EndVoteMax - EndVoteCount) + ")", Color.Cyan); Log("Ending round by votes (" + EndVoteCount + "/" + (EndVoteMax - EndVoteCount) + ")", ServerLog.MessageType.ServerMessage);
EndGame(); EndGame();
} }
} }
@@ -2005,11 +2005,11 @@ namespace Barotrauma.Networking
return preferredClient; return preferredClient;
} }
public static void Log(string line, Color? color) public static void Log(string line, ServerLog.MessageType messageType)
{ {
if (GameMain.Server == null || !GameMain.Server.SaveServerLogs) return; if (GameMain.Server == null || !GameMain.Server.SaveServerLogs) return;
GameMain.Server.log.WriteLine(line, color); GameMain.Server.log.WriteLine(line, messageType);
} }
public override void Disconnect() public override void Disconnect()
@@ -2029,7 +2029,7 @@ namespace Barotrauma.Networking
if (SaveServerLogs) if (SaveServerLogs)
{ {
Log("Shutting down server...", Color.Cyan); Log("Shutting down the server...", ServerLog.MessageType.ServerMessage);
log.Save(); log.Save();
} }
@@ -127,45 +127,45 @@ namespace Barotrauma.Networking
{ {
DisconnectUnauthClient(inc, unauthClient, "You need a name."); DisconnectUnauthClient(inc, unauthClient, "You need a name.");
Log(inc.SenderConnection.RemoteEndPoint.Address.ToString() + " couldn't join the server (no name given)", Color.Red); Log(inc.SenderConnection.RemoteEndPoint.Address.ToString() + " couldn't join the server (no name given)", ServerLog.MessageType.Error);
return; return;
} }
if (clVersion != GameMain.Version.ToString()) if (clVersion != GameMain.Version.ToString())
{ {
DisconnectUnauthClient(inc, unauthClient, "Version " + GameMain.Version + " required to connect to the server (Your version: " + clVersion + ")"); DisconnectUnauthClient(inc, unauthClient, "Version " + GameMain.Version + " required to connect to the server (Your version: " + clVersion + ")");
Log(clName + " couldn't join the server (wrong game version)", Color.Red); Log(clName + " couldn't join the server (wrong game version)", ServerLog.MessageType.Error);
return; return;
} }
if (clPackageName != GameMain.SelectedPackage.Name) if (clPackageName != GameMain.SelectedPackage.Name)
{ {
DisconnectUnauthClient(inc, unauthClient, "Your content package (" + clPackageName + ") doesn't match the server's version (" + GameMain.SelectedPackage.Name + ")"); DisconnectUnauthClient(inc, unauthClient, "Your content package (" + clPackageName + ") doesn't match the server's version (" + GameMain.SelectedPackage.Name + ")");
Log(clName + " couldn't join the server (wrong content package name)", Color.Red); Log(clName + " couldn't join the server (wrong content package name)", ServerLog.MessageType.Error);
return; return;
} }
if (clPackageHash != GameMain.SelectedPackage.MD5hash.Hash) if (clPackageHash != GameMain.SelectedPackage.MD5hash.Hash)
{ {
DisconnectUnauthClient(inc, unauthClient, "Your content package (MD5: " + clPackageHash + ") doesn't match the server's version (MD5: " + GameMain.SelectedPackage.MD5hash.Hash + ")"); DisconnectUnauthClient(inc, unauthClient, "Your content package (MD5: " + clPackageHash + ") doesn't match the server's version (MD5: " + GameMain.SelectedPackage.MD5hash.Hash + ")");
Log(clName + " couldn't join the server (wrong content package hash)", Color.Red); Log(clName + " couldn't join the server (wrong content package hash)", ServerLog.MessageType.Error);
return; return;
} }
if (!whitelist.IsWhiteListed(clName, inc.SenderConnection.RemoteEndPoint.Address.ToString())) if (!whitelist.IsWhiteListed(clName, inc.SenderConnection.RemoteEndPoint.Address.ToString()))
{ {
DisconnectUnauthClient(inc, unauthClient, "You're not in this server's whitelist."); DisconnectUnauthClient(inc, unauthClient, "You're not in this server's whitelist.");
Log(clName + " (" + inc.SenderConnection.RemoteEndPoint.Address.ToString() + ") couldn't join the server (not in whitelist)", Color.Red); Log(clName + " (" + inc.SenderConnection.RemoteEndPoint.Address.ToString() + ") couldn't join the server (not in whitelist)", ServerLog.MessageType.Error);
return; return;
} }
if (!Client.IsValidName(clName)) if (!Client.IsValidName(clName))
{ {
DisconnectUnauthClient(inc, unauthClient, "Your name contains illegal symbols."); DisconnectUnauthClient(inc, unauthClient, "Your name contains illegal symbols.");
Log(clName + " (" + inc.SenderConnection.RemoteEndPoint.Address.ToString() + ") couldn't join the server (invalid name)", Color.Red); Log(clName + " (" + inc.SenderConnection.RemoteEndPoint.Address.ToString() + ") couldn't join the server (invalid name)", ServerLog.MessageType.Error);
return; return;
} }
if (clName.ToLower() == Name.ToLower()) if (clName.ToLower() == Name.ToLower())
{ {
DisconnectUnauthClient(inc, unauthClient, "That name is taken."); DisconnectUnauthClient(inc, unauthClient, "That name is taken.");
Log(clName + " (" + inc.SenderConnection.RemoteEndPoint.Address.ToString() + ") couldn't join the server (name taken by the server)", Color.Red); Log(clName + " (" + inc.SenderConnection.RemoteEndPoint.Address.ToString() + ") couldn't join the server (name taken by the server)", ServerLog.MessageType.Error);
return; return;
} }
Client nameTaken = ConnectedClients.Find(c => c.name.ToLower() == clName.ToLower()); Client nameTaken = ConnectedClients.Find(c => c.name.ToLower() == clName.ToLower());
@@ -185,7 +185,7 @@ namespace Barotrauma.Networking
{ {
//can't authorize this client //can't authorize this client
DisconnectUnauthClient(inc, unauthClient, "That name is taken."); DisconnectUnauthClient(inc, unauthClient, "That name is taken.");
Log(clName + " (" + inc.SenderConnection.RemoteEndPoint.Address.ToString() + ") couldn't join the server (name already taken)", Color.Red); Log(clName + " (" + inc.SenderConnection.RemoteEndPoint.Address.ToString() + ") couldn't join the server (name already taken)", ServerLog.MessageType.Error);
return; return;
} }
} }
@@ -741,7 +741,7 @@ namespace Barotrauma.Networking
public void SaveClientPermissions() public void SaveClientPermissions()
{ {
GameServer.Log("Saving client permissions", null); GameServer.Log("Saving client permissions", ServerLog.MessageType.ServerMessage);
List<string> lines = new List<string>(); List<string> lines = new List<string>();
@@ -227,7 +227,7 @@ namespace Barotrauma.Networking
public void AddChatMessage(ChatMessage message) public void AddChatMessage(ChatMessage message)
{ {
GameServer.Log(message.TextWithSender, message.Color); GameServer.Log(message.TextWithSender, ServerLog.MessageType.Chat);
string displayedText = message.Text; string displayedText = message.Text;
+39 -11
View File
@@ -8,6 +8,36 @@ namespace Barotrauma.Networking
{ {
class ServerLog class ServerLog
{ {
private struct LogMessage
{
public readonly string Text;
public readonly MessageType Type;
public LogMessage(string text, MessageType type)
{
Text = "[" + DateTime.Now.ToString() + "] " + text;
Type = type;
}
}
public enum MessageType
{
Chat,
ItemInteraction,
Attack,
ServerMessage,
Error
}
private Color[] MessageColor = new Color[]
{
Color.LightBlue,
new Color(238, 208, 0),
new Color(204, 74, 78),
new Color(157, 225, 160),
Color.Red
};
private int linesPerFile = 800; private int linesPerFile = 800;
public const string SavePath = "ServerLogs"; public const string SavePath = "ServerLogs";
@@ -18,7 +48,7 @@ namespace Barotrauma.Networking
private GUIListBox listBox; private GUIListBox listBox;
private readonly Queue<ColoredText> lines; private readonly Queue<LogMessage> lines;
private int unsavedLineCount; private int unsavedLineCount;
@@ -32,14 +62,14 @@ namespace Barotrauma.Networking
{ {
this.serverName = serverName; this.serverName = serverName;
lines = new Queue<ColoredText>(); lines = new Queue<LogMessage>();
} }
public void WriteLine(string line, Color? color) public void WriteLine(string line, MessageType messageType)
{ {
string logLine = "[" + DateTime.Now.ToLongTimeString() + "] " + line; //string logLine = "[" + DateTime.Now.ToLongTimeString() + "] " + line;
var newText = new ColoredText(logLine, color == null ? Color.White : (Color)color); var newText = new LogMessage(line, messageType);
lines.Enqueue(newText); lines.Enqueue(newText);
@@ -83,11 +113,11 @@ namespace Barotrauma.Networking
clearButton.OnClicked = ClearFilter; clearButton.OnClicked = ClearFilter;
clearButton.UserData = searchBox; clearButton.UserData = searchBox;
listBox = new GUIListBox(new Rectangle(0, 30, 0, 320), "", innerFrame); listBox = new GUIListBox(new Rectangle(0, 30, 0, 340), "", innerFrame);
var currLines = lines.ToList(); var currLines = lines.ToList();
foreach (ColoredText line in currLines) foreach (LogMessage line in currLines)
{ {
AddLine(line); AddLine(line);
} }
@@ -104,16 +134,14 @@ namespace Barotrauma.Networking
}; };
} }
private void AddLine(ColoredText line) private void AddLine(LogMessage line)
{ {
float prevSize = listBox.BarSize; float prevSize = listBox.BarSize;
var textBlock = new GUITextBlock(new Rectangle(0, 0, 0, 0), line.Text, "", Alignment.TopLeft, Alignment.TopLeft, listBox, true, GUI.SmallFont); var textBlock = new GUITextBlock(new Rectangle(0, 0, 0, 0), line.Text, "", Alignment.TopLeft, Alignment.TopLeft, listBox, true, GUI.SmallFont);
textBlock.Rect = new Rectangle(textBlock.Rect.X, textBlock.Rect.Y, textBlock.Rect.Width, Math.Max(13, textBlock.Rect.Height)); textBlock.Rect = new Rectangle(textBlock.Rect.X, textBlock.Rect.Y, textBlock.Rect.Width, Math.Max(13, textBlock.Rect.Height));
//listBox.AddChild(textBlock); textBlock.TextColor = MessageColor[(int)line.Type];
textBlock.TextColor = line.Color;
textBlock.CanBeFocused = false; textBlock.CanBeFocused = false;
if ((prevSize == 1.0f && listBox.BarScroll == 0.0f) || (prevSize < 1.0f && listBox.BarScroll == 1.0f)) listBox.BarScroll = 1.0f; if ((prevSize == 1.0f && listBox.BarScroll == 0.0f) || (prevSize < 1.0f && listBox.BarScroll == 1.0f)) listBox.BarScroll = 1.0f;
+2 -2
View File
@@ -86,7 +86,7 @@ namespace Barotrauma.Networking
public void Save() public void Save()
{ {
GameServer.Log("Saving whitelist", null); GameServer.Log("Saving whitelist", ServerLog.MessageType.ServerMessage);
List<string> lines = new List<string>(); List<string> lines = new List<string>();
@@ -193,7 +193,7 @@ namespace Barotrauma.Networking
if (wlp == null) return false; if (wlp == null) return false;
DebugConsole.Log("Removing " + wlp.Name + " from whitelist"); DebugConsole.Log("Removing " + wlp.Name + " from whitelist");
GameServer.Log("Removing " + wlp.Name + " from whitelist", null); GameServer.Log("Removing " + wlp.Name + " from whitelist", ServerLog.MessageType.ServerMessage);
whitelistedPlayers.Remove(wlp); whitelistedPlayers.Remove(wlp);
Save(); Save();