Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ UpdateServer()

static void Terraria.Main.UpdateServer ( )
inlinestaticprivate

Definition at line 61360 of file Main.cs.

61361 {
61363 if (netPlayCounter % 3600 == 0)
61364 {
61365 NetMessage.SendData(7);
61366 netPlayCounter = 0;
61367 }
61368 for (int i = 0; i < maxNetPlayers; i++)
61369 {
61370 if (player[i].active && Netplay.Clients[i].IsActive)
61371 {
61372 Netplay.Clients[i].SpamUpdate();
61373 }
61374 }
61375 if (Math.IEEERemainder(netPlayCounter, 900.0) == 0.0)
61376 {
61377 bool flag = true;
61378 int num = lastItemUpdate;
61379 int num2 = 0;
61380 while (flag)
61381 {
61382 num++;
61383 if (num >= 400)
61384 {
61385 num = 0;
61386 }
61387 num2++;
61388 if (!Main.item[num].active || Main.item[num].playerIndexTheItemIsReservedFor == 255)
61389 {
61390 NetMessage.SendData(21, -1, -1, null, num);
61391 }
61392 if (num2 >= maxItemUpdates || num == lastItemUpdate)
61393 {
61394 flag = false;
61395 }
61396 }
61397 lastItemUpdate = num;
61398 }
61399 for (int j = 0; j < 400; j++)
61400 {
61401 Item item = Main.item[j];
61402 if (item.active && (item.playerIndexTheItemIsReservedFor == 255 || !player[item.playerIndexTheItemIsReservedFor].active))
61403 {
61404 item.FindOwner(j);
61405 }
61406 }
61407 for (int k = 0; k < 255; k++)
61408 {
61409 if (Netplay.Clients[k].IsActive)
61410 {
61411 Netplay.Clients[k].TimeOutTimer++;
61412 if (Netplay.Clients[k].State == 0)
61413 {
61414 Netplay.Clients[k].TimeOutTimer += 3;
61415 }
61416 if (!stopTimeOuts && Netplay.Clients[k].TimeOutTimer > 7200)
61417 {
61418 Netplay.Clients[k].PendingTermination = true;
61419 Netplay.Clients[k].PendingTerminationApproved = true;
61420 }
61421 }
61422 if (player[k].active)
61423 {
61424 RemoteClient.CheckSection(k, player[k].position);
61425 }
61426 }
61427 }
static double IEEERemainder(double x, double y)
Definition Math.cs:679
static int maxItemUpdates
Definition Main.cs:2111
static Item[] item
Definition Main.cs:1681
static bool stopTimeOuts
Definition Main.cs:564
static int lastItemUpdate
Definition Main.cs:2107
static int maxNetPlayers
Definition Main.cs:1136
static int netPlayCounter
Definition Main.cs:2103
static Player[] player
Definition Main.cs:1803

References Terraria.RemoteClient.CheckSection(), Terraria.Netplay.Clients, System.Text.RegularExpressions.i, System.Math.IEEERemainder(), Terraria.Main.item, Terraria.Main.lastItemUpdate, Terraria.Main.maxItemUpdates, Terraria.Main.maxNetPlayers, Terraria.Main.netPlayCounter, Terraria.Main.player, Terraria.NetMessage.SendData(), and Terraria.Main.stopTimeOuts.

Referenced by Terraria.Main.DoUpdateInWorld().