75 for (
int i = 0; i < 256; i++)
88 foreach (
IPAddress iPAddress
in addressList)
106 for (
int i = 0; i < 256; i++)
112 Clients[i].TileSections[j, k] =
false;
135 while ((
text = streamReader.ReadLine()) !=
null)
137 if (
text == identifier)
192 writer.BaseStream.Position = 0
L;
193 long position =
writer.BaseStream.Position;
194 writer.BaseStream.Position += 2
L;
201 int num = (int)
writer.BaseStream.Position;
202 writer.BaseStream.Position = position;
204 writer.BaseStream.Position = num;
237 Name =
"Server Loop Thread"
253 Main.statusText =
Lang.
menu[8].Value;
256 for (
int i = 0; i < 256; i++)
261 Clients[i].ReadBuffer =
new byte[1024];
295 num = (num + 1) % 10;
304 for (
int i = 0; i < 256; i++)
306 if (
Clients[i].PendingTermination)
308 if (
Clients[i].PendingTerminationApproved)
323 Clients[i].PendingTermination =
true;
324 Clients[i].PendingTerminationApproved =
true;
371 if (
Connection.Socket.GetRemoteAddress().Type != 0)
379 for (
int j = i; j < Main.maxMP - 1; j++)
387 for (
int num =
Main.
maxMP - 1; num > 0; num--)
403 Connection.Socket = socket;
441 Main.ServerSideCharacter =
false;
448 for (
int i = 0; i < 255; i++)
463 Connection.ReadBuffer =
new byte[1024];
480 Connection.IsActive =
true;
484 Connection.State = 1;
497 WorldGen.worldCleared =
false;
498 Connection.State = 5;
501 Main.cloudBGAlpha = 1f;
505 Main.cloudBGAlpha = 0f;
520 Main.statusText =
Lang.
gen[68].Value +
" " + (int)(num2 * 100f + 1f) +
"%";
524 Connection.State = 6;
534 Connection.IsReading =
true;
542 Connection.StatusText =
"";
543 Connection.StatusMax = 0;
544 Connection.StatusCount = 0;
548 Main.statusText = Connection.StatusText +
": " + (int)((
float)Connection.StatusCount / (float)
Connection.StatusMax * 100f) +
"%";
569 Main.gameMenu =
true;
571 MapHelper.noStatusText =
true;
576 MapHelper.noStatusText =
false;
588 Connection.StatusCount = 0;
589 Connection.StatusMax = 0;
590 Connection.StatusText =
"";
599 streamWriter.WriteLine(
value);
600 streamWriter.WriteLine(
"");
628 thread.Name =
"Social Client Thread";
629 thread.IsBackground =
true;
630 thread.
Start(socket);
636 thread.Name =
"TCP Client Thread";
637 thread.IsBackground =
true;
657 for (
int i = 0; i < addressList.Length; i++)
689 SuccessCallback = successCallBack,
724 for (
int i = 0; i <
array.Length; i++)
748 for (
int i = 0; i < 257; i++)
788 BroadcastClient.EnableBroadcast =
true;
796 binaryWriter.Write(
value);
800 if (
text ==
"localhost")
804 binaryWriter.Write(
text);
810 binaryWriter.Write((
byte)0);
812 binaryWriter.Flush();
818 for (
int i = 0; i < 255; i++)
825 array[(int)num] = (
byte)num2;
static string MachineName
static bool Exists([NotNullWhen(true)] string? path)
override void WriteLine(string? value)
static string GetHostName()
static IAsyncResult BeginGetHostAddresses(string hostNameOrAddress, AsyncCallback? requestCallback, object? state)
static IPAddress[] EndGetHostAddresses(IAsyncResult asyncResult)
static IPHostEntry GetHostEntry(IPAddress address)
static readonly IPAddress Broadcast
override string ToString()
static bool TryParse([NotNullWhen(true)] string? ipString, [NotNullWhen(true)] out IPAddress? address)
static readonly IPAddress Any
AddressFamily AddressFamily
static void Sleep(int millisecondsTimeout)
void Start(object? parameter)
static void StopTrackedSounds()
static void resetClouds()
static LocalizedText[] gen
static LocalizedText[] menu
static string GetTextValue(string key)
void Serialize(BinaryWriter writer)
static NetworkText FromKey(string key, params object[] substitutions)
static float windSpeedTarget
static WorldFileData ActiveWorldFileData
static void ToggleGameplayUpdates(bool state)
static PlayerFileData ActivePlayerFileData
static UnifiedRandom rand
static float cloudBGActive
static string[] recentWorld
static INetDiagnosticsUI ActiveNetDiagnosticsUI
static void SwitchNetMode(int mode)
static void SendData(int msgType, int remoteClient=-1, int ignoreClient=-1, NetworkText text=null, int number=0, float number2=0f, float number3=0f, float number4=0f, int number5=0, int number6=0, int number7=0)
static void CheckBytes(int bufferIndex=256)
static MessageBuffer[] buffer
static void SyncDisconnectedPlayer(int plr)
static void InnerClientLoop()
static void ResetSections()
static void SocialClientLoop(object threadContext)
static string GetLocalIPAddress()
static void SetRemoteIPAsync(string remoteAddress, Action successCallBack)
static bool SetRemoteIPOld(string remoteAddress)
static void ClientLoopSetup(RemoteAddress address)
static IPAddress ServerIP
static void TcpClientLoop()
static Thread _serverThread
static Thread broadcastThread
static MessageBuffer fullBuffer
static ISocket TcpListener
static void ResetNetDiag()
static void ServerFullWriteCallBack(object state)
static void KickClient(ISocket client, NetworkText kickMessage)
static bool IsBanned(RemoteAddress address)
static int _currentRequestId
static void OnConnectedToSocialServer(ISocket client)
static void UpdateConnectedClients()
static void StopListening()
static void OnConnectionAccepted(ISocket client)
static bool AcceptedFamilyType(AddressFamily family)
static RemoteClient[] Clients
static int FindNextOpenClientSlot()
static void InvalidateAllOngoingIPSetAttempts()
static Action OnDisconnect
static void BroadcastThread()
static int GetSectionX(int x)
static void InitializeServer()
static string ServerIPText
static void StartSocialClient(ISocket socket)
static void StartListeningIfNeeded()
static void OpenPort(int port)
static void ClosePort(int port)
static void StartTcpClient()
static void UpdateClientInMainThread()
static int GetSectionY(int y)
static string BanFilePath
static string ServerPassword
static void SetRemoteIPAsyncCallback(IAsyncResult ar)
static bool StartListening()
static void AddBan(int plr)
static void StopBroadCasting()
static void StartServer()
static void UpdateInMainThread()
static bool SaveOnServerExit
static RemoteServer Connection
static void UpdateServerInMainThread()
static UdpClient BroadcastClient
static void StartBroadCasting()
static bool SetRemoteIP(string remoteAddress)
static void AddCurrentServerToRecentList()
static void PlayerDisconnect(int playerIndex)
static void ClearPlayerTempInfo()
static void SavePlayer(PlayerFileData playerFile, bool skipMapSave=false)
static Terraria.Social.Base.NetSocialModule Network
void AsyncSend(byte[] data, int offset, int size, SocketSendCallback callback, object state=null)
RemoteAddress GetRemoteAddress()