mirror of
https://github.com/tgstation/tgstation-server.git
synced 2026-08-25 05:56:58 +01:00
Merge upstream
This commit is contained in:
@@ -307,15 +307,18 @@ namespace TGServerService.ChatProviders
|
||||
return;
|
||||
lock (IRCLock)
|
||||
{
|
||||
foreach (var cid in irc.JoinedChannels)
|
||||
string cids = "";
|
||||
for (var I = 0; I < irc.JoinedChannels.Count; ++I)
|
||||
{
|
||||
var cid = irc.JoinedChannels[I];
|
||||
bool SendToThisChannel = (mt.HasFlag(MessageType.AdminInfo) && IRCConfig.AdminChannels.Contains(cid))
|
||||
|| (mt.HasFlag(MessageType.DeveloperInfo) && IRCConfig.DevChannels.Contains(cid))
|
||||
|| (mt.HasFlag(MessageType.GameInfo) && IRCConfig.GameChannels.Contains(cid))
|
||||
|| (mt.HasFlag(MessageType.WatchdogInfo) && IRCConfig.WatchdogChannels.Contains(cid));
|
||||
if (SendToThisChannel)
|
||||
irc.SendMessage(SendType.Message, cid, message);
|
||||
cids += I > 0 ? ',' + cid : cid;
|
||||
}
|
||||
irc.SendMessage(SendType.Message, cids, message);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -242,8 +242,16 @@ namespace TGServerService
|
||||
/// Warning: An error occurred during a <see cref="TGServiceInterface.Components.ITGRepository.GenerateChangelog(out string)"/> operation
|
||||
/// </summary>
|
||||
RepoChangelogFail = 5700,
|
||||
/// <summary>
|
||||
/// Info: When the <see cref="TGServiceInterface"/> dll is updated for the <see cref="ServerInstance"/>
|
||||
/// </summary>
|
||||
InterfaceDLLUpdated = 5800,
|
||||
/// <summary>
|
||||
/// Error: An error occurred while updating the <see cref="TGServiceInterface"/> dll for the <see cref="ServerInstance"/>
|
||||
/// </summary>
|
||||
InterfaceDLLUpdateFail = 5900,
|
||||
|
||||
//YO THERE'S SPACE FOR 3 IDS HERE, USE EM!!!
|
||||
//YO THERE'S SPACE FOR 1 MORE ID HERE, USE IT!!!
|
||||
|
||||
/// <summary>
|
||||
/// Error: When an exception occurs while the <see cref="Service"/> is stopping
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using System;
|
||||
using System.Diagnostics;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Threading;
|
||||
using System.Timers;
|
||||
@@ -516,11 +517,37 @@ namespace TGServerService
|
||||
/// <param name="overwrite">If <see langword="true"/>, overwrites the <see cref="ServerInstance"/>'s current interface .dll if it exists</param>
|
||||
void UpdateInterfaceDll(bool overwrite)
|
||||
{
|
||||
if (File.Exists(InterfaceDLLName) && !overwrite)
|
||||
var FileExists = File.Exists(InterfaceDLLName);
|
||||
if (FileExists && !overwrite)
|
||||
return;
|
||||
//Copy the interface dll to the static dir
|
||||
var InterfacePath = Assembly.GetAssembly(typeof(DreamDaemonBridge)).Location;
|
||||
File.Copy(InterfacePath, InterfaceDLLName, overwrite);
|
||||
try
|
||||
{
|
||||
if (FileExists)
|
||||
{
|
||||
var Old = File.ReadAllBytes(InterfaceDLLName);
|
||||
var New = File.ReadAllBytes(InterfacePath);
|
||||
if (Old.SequenceEqual(New))
|
||||
return; //no need
|
||||
}
|
||||
File.Copy(InterfacePath, InterfaceDLLName, overwrite);
|
||||
Service.WriteInfo("Updated interface DLL", TGServerService.EventID.InterfaceDLLUpdated);
|
||||
}
|
||||
catch
|
||||
{
|
||||
try
|
||||
{
|
||||
//ok the things being stupid and hasn't released the dll yet, try ONCE more
|
||||
Thread.Sleep(1000);
|
||||
File.Copy(InterfacePath, InterfaceDLLName, overwrite);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
//intentionally using the fi
|
||||
Service.WriteError("Failed to update interface DLL! Error: " + e.ToString(), TGServerService.EventID.InterfaceDLLUpdateFail);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
+3
-3
@@ -12,6 +12,6 @@ using System.Reflection;
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
|
||||
//It's impossible to make these a define, don't say I didn't warn you
|
||||
[assembly: AssemblyVersion("3.1.5.0")]
|
||||
[assembly: AssemblyFileVersion("3.1.5.0")]
|
||||
[assembly: AssemblyInformationalVersion("3.1.5.0")]
|
||||
[assembly: AssemblyVersion("3.1.5.1")]
|
||||
[assembly: AssemblyFileVersion("3.1.5.1")]
|
||||
[assembly: AssemblyInformationalVersion("3.1.5.1")]
|
||||
|
||||
Reference in New Issue
Block a user