Guest User

Untitled

a guest
Dec 11th, 2017
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.32 KB | None | 0 0
  1. using System;
  2. using System.IO;
  3.  
  4. namespace MegaCraft
  5. {
  6. public static class Properties
  7. {
  8. public static void Load(string givenPath, bool skipsalt = false)
  9. {
  10. if (!skipsalt)
  11. {
  12. Server.salt = "";
  13. string rndchars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_-/?.><,\";
  14. Random rnd = new Random();
  15. for (int i = 0; i < 16; ++i) { Server.salt += rndchars[rnd.Next(rndchars.Length)]; }
  16. }
  17.  
  18. if (File.Exists(givenPath))
  19. {
  20. string[] lines = File.ReadAllLines(givenPath);
  21.  
  22. foreach (string line in lines)
  23. {
  24. if (line != "" && line[0] != '#')
  25. {
  26. //int index = line.IndexOf('=') + 1; // not needed if we use Split('=')
  27. string key = line.Split('=')[0].Trim();
  28. string value = line.Split('=')[1].Trim();
  29. string color = "";
  30.  
  31. switch (key.ToLower())
  32. {
  33. case "Name of server":
  34. if (ValidString(value, "![]:.,{}~-+()?_/\\ "))
  35. {
  36. Server.name = value;
  37. }
  38. else { Server.s.Log("Illegal Name... Setting to MegaCraft Default."); }
  39. break;
  40. case "Subtitle":
  41. if (ValidString(value, "![]&:.,{}~-+()?_/\\ "))
  42. {
  43. Server.motd = value;
  44. }
  45. else { Server.s.Log("motd invalid! setting to default."); }
  46. break;
  47. case "public":
  48. Server.pub = (value.ToLower() == "true") ? true : false;
  49. break;
  50. case "port":
  51. try { Server.port = Convert.ToInt32(value); }
  52. catch { Server.s.Log("port invalid! setting to default."); }
  53. break;
  54. case "guest-goto":
  55. Server.guestGoto = (value.ToLower() == "true") ? true : false;
  56. break;
  57. case "max-players":
  58. try
  59. {
  60. if (Convert.ToByte(value) > 128)
  61. {
  62. value = "128"; Server.s.Log("Max players has been lowered to 128.");
  63. }
  64. else if (Convert.ToByte(value) < 1)
  65. {
  66. value = "1"; Server.s.Log("Max players has been increased to 1.");
  67. }
  68. Server.players = Convert.ToByte(value);
  69. }
  70. catch { Server.s.Log("Illegal Amount! setting to default."); }
  71. break;
  72. case "max-maps":
  73. try
  74. {
  75. if (Convert.ToByte(value) > 100)
  76. {
  77. value = "100";
  78. Server.s.Log("Max maps has been lowered to 100.");
  79. }
  80. else if (Convert.ToByte(value) < 1)
  81. {
  82. value = "1";
  83. Server.s.Log("Max maps has been increased to 1.");
  84. }
  85. Server.maps = Convert.ToByte(value);
  86. }
  87. catch
  88. {
  89. Server.s.Log("max-maps invalid! setting to default.");
  90. }
  91. break;
  92. case "Tunneling-Aloud":
  93. Server.antiTunnel = (value.ToLower() == "true") ? true : false;
  94. break;
  95. case "max-depth":
  96. try
  97. {
  98. Server.maxDepth = Convert.ToByte(value);
  99. }
  100. catch
  101. {
  102. Server.s.Log("maxDepth invalid! setting to default.");
  103. }
  104. break;
  105.  
  106. case "rplimit":
  107. try { Server.rpLimit = Convert.ToInt16(value); }
  108. catch { Server.s.Log("rpLimit invalid! setting to default."); }
  109. break;
  110. case "rplimit-norm":
  111. try { Server.rpNormLimit = Convert.ToInt16(value); }
  112. catch { Server.s.Log("rpLimit-norm invalid! setting to default."); }
  113. break;
  114.  
  115.  
  116. case "report-back":
  117. Server.reportBack = (value.ToLower() == "true") ? true : false;
  118. break;
  119. case "backup-time":
  120. if (Convert.ToInt32(value) > 1) { Server.backupInterval = Convert.ToInt32(value); }
  121. break;
  122. case "backup-location":
  123. if (!value.Contains("System.Windows.Forms.TextBox, Text:"))
  124. Server.backupLocation = value;
  125. break;
  126.  
  127. case "console-only":
  128. Server.console = (value.ToLower() == "true") ? true : false;
  129. break;
  130.  
  131. case "physicsrestart":
  132. Server.physicsRestart = (value.ToLower() == "true") ? true : false;
  133. break;
  134.  
  135. case "usemysql":
  136. Server.useMySQL = (value.ToLower() == "true") ? true : false;
  137. break;
  138. case "host":
  139. Server.MySQLHost = value;
  140. break;
  141. case "sqlport":
  142. Server.MySQLPort = value;
  143. break;
  144. case "username":
  145. Server.MySQLUsername = value;
  146. break;
  147. case "password":
  148. Server.MySQLPassword = value;
  149. break;
  150. case "databasename":
  151. Server.MySQLDatabaseName = value;
  152. break;
  153. case "pooling":
  154. try { Server.MySQLPooling = bool.Parse(value); }
  155. catch { Server.s.Log("Invalid " + key + ". Using default."); break; }
  156. break;
  157. case "defaultcolor":
  158. color = c.Parse(value);
  159. if (color == "")
  160. {
  161. color = c.Name(value); if (color != "") color = value; else { Server.s.Log("Could not find " + value); return; }
  162. }
  163. Server.DefaultColor = color;
  164. break;
  165. case "opchat-perm":
  166. try
  167. {
  168. sbyte parsed = sbyte.Parse(value);
  169. if (parsed < -50 || parsed > 120)
  170. {
  171. throw new FormatException();
  172. }
  173. Server.opchatperm = (LevelPermission)parsed;
  174. }
  175. catch { Server.s.Log("Invalid " + key + ". Using default."); break; }
  176. break;
  177. case "log-heartbeat":
  178. try { Server.logbeat = bool.Parse(value); }
  179. catch { Server.s.Log("Invalid " + key + ". Using default."); break; }
  180. break;
  181. case "Invinciblility-Message":
  182. try { Server.cheapMessage = bool.Parse(value); }
  183. catch { Server.s.Log("Invalid " + key + ". Using default."); break; }
  184. break;
  185. case "Invincibility":
  186. if (value != "") Server.cheapMessageGiven = value;
  187. break;
  188. case "custom-ban":
  189. try { Server.customBan = bool.Parse(value); }
  190. catch { Server.s.Log("Invalid " + key + ". Using default."); break; }
  191. break;
  192. case "rank-super":
  193. try { Server.rankSuper = bool.Parse(value); }
  194. catch { Server.s.Log("Invalid " + key + ". Using default."); break; }
  195. break;
  196. case "default-rank":
  197. try { Server.defaultRank = value.ToLower(); }
  198. catch { }
  199. break;
  200. case "afk-minutes":
  201. try
  202. {
  203. Server.afkminutes = Convert.ToInt32(value);
  204. }
  205. catch
  206. {
  207. Server.s.Log("irc-port invalid! setting to default.");
  208. }
  209. break;
  210. case "afk-kick":
  211. try { Server.afkkick = Convert.ToInt32(value); }
  212. catch { Server.s.Log("irc-port invalid! setting to default."); }
  213. break;
  214. case "check-updates":
  215. try { Server.checkUpdates = bool.Parse(value); }
  216. catch { Server.s.Log("Invalid " + key + ". Using default."); break; }
  217. break;
  218. case "autoload":
  219. try { Server.AutoLoad = bool.Parse(value); }
  220. catch { Server.s.Log("Invalid " + key + ". Using default."); break; }
  221. break;
  222. case "auto-restart":
  223. try { Server.autorestart = bool.Parse(value); }
  224. catch { Server.s.Log("Invalid " + key + ". Using default."); break; }
  225. break;
  226. case "main-name":
  227. if (Player.ValidName(value)) Server.level = value;
  228. else Server.s.Log("Invalid main name");
  229. break;
  230. case "dollar-Sign First":
  231. try { Server.dollardollardollar = bool.Parse(value); }
  232. catch { Server.s.Log("Invalid " + key + ". Using default."); }
Add Comment
Please, Sign In to add comment