From 0dc7e3db06303a626e1d75a14ed2f9f96410dad0 Mon Sep 17 00:00:00 2001 From: Shank Date: Sat, 28 May 2011 21:38:42 -0600 Subject: [PATCH] Adding an update check system. --- Terraria.suo | Bin 55808 -> 55808 bytes Terraria/NetMessage.cs | 1 + Terraria/ShankShock.cs | 31 ++++++++++++++++++++++++++++++- 3 files changed, 31 insertions(+), 1 deletion(-) diff --git a/Terraria.suo b/Terraria.suo index c828a7972582137e17d9497194385ec5bbe19c01..f5a5310d48de59c2e508039400f980491fb02f14 100644 GIT binary patch delta 1225 zcmX|>e@t6d6vun}T2}^C%77(CfpjcPEUew+hZE!hV`CfR$224wWf(x4MI9wUe-QbRg((}*$6%X?wcrA}kY=`8jqGlaiZY|$Q-NJ;n|G!%Qz*E(uL(p zVq8z8&O5xhed%Gbs<|W0+IgzxyZvM-jwNlkw&_o6o^Vb zZTj1I%Rcu@^}W7>8TS{v0viRkTY9kRS3&3YP34!>eUPCr4`o-3o~m5OCnYIU-N~BW z7&IBs@$yYl;H6%{b{^4Z;B&yY=K}0S&?m+HFf7Mk!d?YmfDu_6h5ZV+ zz}LVH#=tcA23!MttO-mc;pNmEFJd2<0XM-cm;>K~Tfh(I!4KdzSOAOQ4!~Z&+xf~` zvY1cO!pCv++H{2aIq0$U&a{KV%_gquau}pgd)ie2e+%WFF-z=?AY(!L^Q{fkQj^XL z!9cFA~#JSUcq0tTHV(9e@ul7U7tL2-aY@&=us&{H9L=_t-ov>pDf&w z;%#f+za;#;RxygRB`B_vsiY3G zURr2NWSvb)XM@NjvBUisRlXN3#SGqEL(xq|`%%E%=RPj++U`Ec|M27Dbe<)Tq5lZMu;m^j(V6&*<$C5uTTw(q6U=~X#MEt^P P)m*5@h+YU&fVckv;y1h% delta 1427 zcmZvce@s(X6vyA~D^g%Ep8PP19fUBg;DlzP*<@0F2uz%%hzLwaSjNPl4!SoHvPjvM zHW|*P9_zL&Su!9>4BNENA({N~hF#(qgVLd>G0QaZk7bE7TbXW4=)U)rHcPgfeBM3x z-0wT@zH`sLj*Ft>qIh1_t==aH!qZ?e6bfxbUkEmV51j@l?@I0sj zrJxLK2i0H)cmeDLJZKGi8>j`1pbqQ?^`HT84W|kAi(oG(051Xf-MiM&ka#sI>sbD$ zZyBeU2)DXb>CyK{iDuZzEAc>MB*hggmh|C7X{dmV-g`ezik~O0U;OOO-Dc|Ckw!^5 zf#k1WADP-+<(U7;cC$Sz;rm*8kQ1b{HLJaAf;whV7EC{j)MCp~bWcsJHSix?3#iX# zQi63OqPuRRaTJbAU<~k8e}(=s80TZREt8TPi`;b%V-Vv7@CWxp_Xz!;;4eOQ+g1!T z#T(*oxnqSN69a*3|BROMgIaJ;Vp>OU%1yb0DAc{H|p@Vyiu>I@EF?{EDy3MU$RF zM0F|7=^l2nV??^Oti9X%=9R{VTZ<(xONDc7(p7ddA0j1Xq(qddsyT(;4V=(NH;ez(FRLQ+CRNA~glBoIQCgfvdmnA9n!@tGq4G{8OWDn_$^E>H^-W)Ro*L~au)#STSL|Jj=itmCW z+rTfj=a$qY&!GTuEJOS@3)kD6mA_5$wHkv3&Mnc2Yt|UXGfjQ(uP6C>SQfmF0Q@>E qj_Bn1rI~rm@XL~4idty-hBkv!xo|^UBFQ)5Ni#q8J0#P9w|@Xz+RP9D diff --git a/Terraria/NetMessage.cs b/Terraria/NetMessage.cs index 577c373d..a86d2043 100644 --- a/Terraria/NetMessage.cs +++ b/Terraria/NetMessage.cs @@ -70,6 +70,7 @@ ShankShock.handleCheater(plr); } ShankShock.showmotd(plr); + ShankShock.showUpdateMinder(plr); if (ShankShock.permaPvp) { Main.player[plr].hostile = true; diff --git a/Terraria/ShankShock.cs b/Terraria/ShankShock.cs index 7e43894e..d0a75cf2 100644 --- a/Terraria/ShankShock.cs +++ b/Terraria/ShankShock.cs @@ -3,11 +3,15 @@ using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; +using System.Net; namespace Terraria { class ShankShock { + private static string version = "1"; + private static bool shownVersion = false; + public static bool enableGuide = true; public static int invasionMultiplier = 1; public static int defaultMaxSpawns = 4; @@ -31,8 +35,33 @@ namespace Terraria EYE=1, SKELETRON=2 } - public ShankShock() + + public static void showUpdateMinder(int ply) { + if (!shownVersion) + { + if (isAdmin(findPlayer(ply))) + { + WebClient client = new WebClient(); + client.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.0.3705;)"); + try + { + string updateVersion = client.DownloadString("http://shankshock.com/tshock.txt"); + string[] changes = updateVersion.Split(','); + float[] color = { 255, 255, 0 }; + if (updateVersion != version) + { + sendMessage(ply, "This server is out of date. Version " + updateVersion + " is out.", color); + sendMessage(ply, changes[1], color); + } + } + catch (Exception e) + { + _writeError(e.Message); + } + shownVersion = true; + } + } } public static void incrementKills()