From dbb75f78a0f26e15fcf70efbcc38665f3f1d2869 Mon Sep 17 00:00:00 2001
From: Kamron Batman <3953314+kamronbatman@users.noreply.github.com>
Date: Sun, 17 Apr 2022 09:06:24 -0700
Subject: [PATCH] chore: Deletes ConnectUO support (#999)
Looks like connectuo is dead so deleting the support for it.
---
Projects/UOContent/Network/ConnectUO.cs | 122 ------------------------
1 file changed, 122 deletions(-)
delete mode 100644 Projects/UOContent/Network/ConnectUO.cs
diff --git a/Projects/UOContent/Network/ConnectUO.cs b/Projects/UOContent/Network/ConnectUO.cs
deleted file mode 100644
index 12745c420..000000000
--- a/Projects/UOContent/Network/ConnectUO.cs
+++ /dev/null
@@ -1,122 +0,0 @@
-/*************************************************************************
- * ModernUO *
- * Copyright (C) 2019-2021 - ModernUO Development Team *
- * Email: hi@modernuo.com *
- * File: ConnectUO.cs *
- * *
- * This program is free software: you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation, either version 3 of the License, or *
- * (at your option) any later version. *
- * *
- * You should have received a copy of the GNU General Public License *
- * along with this program. If not, see . *
- *************************************************************************/
-
-using System;
-using System.Buffers;
-using Server.Accounting;
-using Server.Logging;
-using Server.Text;
-
-namespace Server.Network
-{
- public static class ConnectUO
- {
- private static readonly ILogger logger = LogFactory.GetLogger(typeof(ConnectUO));
-
- public enum ConnectUOServerType
- {
- RunUO,
- ServUO,
- UOX3,
- POL,
- Sphere,
- ModernUO
- }
-
- public const byte ConnectUOProtocolVersion = 0;
- private const int _connectUOTokenLength = 32;
- private const ConnectUOServerType _serverType = ConnectUOServerType.ModernUO;
- private static byte[] _token;
-
- public static void Configure()
- {
- var enabled = ServerConfiguration.GetOrUpdateSetting("connectuo.enabled", true);
- var token = ServerConfiguration.GetOrUpdateSetting("connectuo.token", "");
-
- if (enabled)
- {
- try
- {
- if (!string.IsNullOrWhiteSpace(token))
- {
- if (token.Length != _connectUOTokenLength * 2)
- {
- throw new Exception("Invalid length for ConnectUO token");
- }
-
- _token = GC.AllocateUninitializedArray(_connectUOTokenLength);
- token.ToUpperInvariant().GetBytes(_token);
- }
- }
- catch
- {
- logger.Warning("ConnectUO token could not be parsed. Make sure modernuo.json is properly configured");
- _token = null;
- }
-
- FreeshardProtocol.Register(0xC0, false, PollInfo);
- }
- }
-
- public static void PollInfo(NetState state, CircularBufferReader reader, int packetLength)
- {
- var version = reader.ReadByte();
-
- if (_token != null)
- {
- unsafe {
- byte* tok = stackalloc byte[_token.Length];
- var span = new Span(tok, _token.Length);
- reader.Read(span);
-
- if (!span.SequenceEqual(_token))
- {
- state.Disconnect("Invalid token sent for ConnectUO");
- return;
- }
- }
- }
-
- state.LogInfo($"ConnectUO (v{version}) is requesting stats.");
- if (version > ConnectUOProtocolVersion)
- {
- Utility.PushColor(ConsoleColor.Yellow);
- state.LogInfo("Warning! ConnectUO (v{version}) is newer than what is supported.");
- Utility.PopColor();
- }
-
- state.SendServerPollInfo();
- }
-
- public static void SendServerPollInfo(this NetState ns)
- {
- if (ns.CannotSendPackets())
- {
- return;
- }
-
- var writer = new SpanWriter(stackalloc byte[15]);
- writer.Write((byte)0xC0); // Packet ID
- writer.Write((ushort)17); // Length
- writer.Write(ConnectUOProtocolVersion); // Version
- writer.Write((byte)_serverType);
- writer.Write((int)(Core.TickCount / 1000));
- writer.Write(Accounts.Count); // Shame if you modify this!
- writer.Write(TcpServer.Instances.Count - 1); // Shame if you modify this!
-
- ns.Send(writer.Span);
- }
- }
-}