Advertisement
Guest User

Untitled

a guest
Oct 23rd, 2017
379
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.12 KB | None | 0 0
  1. using DarkRift;
  2. using DarkRift.ConfigTools;
  3. using DarkRift.Storage;
  4. using System;
  5. using System.Collections.Generic;
  6.  
  7. namespace LoginPlugin
  8. {
  9. public class LoginPlugin : Plugin
  10. {
  11.  
  12. public override string name { get { return "LoginPlugin"; } }
  13.  
  14. public override string version { get { return "1.0"; } }
  15.  
  16. public override Command[] commands { get { return new Command[] { }; } }
  17.  
  18. public override string author { get { return "Original from Jamie Read"; } }
  19.  
  20. public override string supportEmail { get { return "Joskebammens@joske.com"; } }
  21.  
  22. //All variables we going to read out of the config file
  23.  
  24. private ConfigReader _settings;
  25.  
  26. private byte _loginT;
  27. private ushort _loginSUserLogin;
  28. private ushort _loginSLogoutUser;
  29. private ushort _loginSAddUser;
  30. private ushort _loginSLoginSuccess;
  31. private ushort _loginSLoginFailed;
  32. private ushort _loginSLogoutSuccess;
  33. private ushort _loginSAddUserSuccess;
  34. private ushort _loginSAddUserFailed;
  35.  
  36. private bool _allowAddUser = false;
  37. private bool _debug = false;
  38.  
  39. public LoginPlugin()
  40. {
  41. // If not installed: make plugin directory under ./Plugins/Pluginname Alse create the database table for this
  42.  
  43. if (!IsInstalled())
  44. {
  45. InstallSubdirectory(
  46. new Dictionary<string, byte[]>()
  47. {
  48. {"settings.cnf", System.Text.ASCIIEncoding.ASCII.GetBytes(
  49. "LoginTag:\t\t\t\t\t10\n" +
  50. "LoginSubjectUserLogin:\t\t1\n" +
  51. "LoginSubjectLogoutUser:\t\t2\n" +
  52. "LoginSubjectAddUser:\t\t3\n" +
  53. "LoginSubjectLoginSucces:\t4\n" +
  54. "LoginSubjectLoginFailed:\t5\n" +
  55. "LoginSubjectLogoutSuccess:\t6\n" +
  56. "LoginSubjectAddUserSuccess:\t7\n" +
  57. "LoginSubjectAddUserFailed:\t8\n" +
  58. "AllowAddUser:\t\t\tTrue\n" +
  59. "Debug:\t\t\t\t\t\tTrue") }
  60. }
  61.  
  62. );
  63. try
  64. {
  65. DarkRiftServer.database.ExecuteNonQuery(
  66. "CREATE TABLE IF NOT EXSTS tblplayer(" +
  67. "id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, " +
  68. "username VARCHAR(50) NOT NULL, " +
  69. "password VARCHAR(50) NOT NULL ) ", new QueryParameter[0]
  70. );
  71. }
  72. catch (DatabaseException e)
  73. {
  74. Interface.LogError("[LoginPlugin] SQL error during setup: " + e.ToString());
  75.  
  76. if (_debug)
  77. {
  78. Interface.Log("[LoginPlugin] SQL error during setup: ");
  79. }
  80. }
  81. }
  82.  
  83. _settings = new ConfigReader(GetSubdirectory() + "/settings.cnf");
  84.  
  85. if (!byte.TryParse(_settings["LoginTag"], out _loginT))
  86. {
  87. Interface.LogFatal("[LoginPlugin] Plugin Tag could not be found in settings.cnf");
  88. DarkRiftServer.Close(true);
  89. }
  90. if (!ushort.TryParse(_settings["LoginSubjectUserLogin"], out _loginSUserLogin))
  91. {
  92. Interface.LogFatal("[LoginPlugin] User Login Subject could not be found in settings.cnf");
  93. DarkRiftServer.Close(true);
  94. }
  95. if(!ushort.TryParse(_settings["LoginSubjectLogoutUser"], out _loginSLogoutUser))
  96. {
  97. Interface.LogFatal("[LoginPlugin] User Logout Subject could not be found in settings.cnf");
  98. DarkRiftServer.Close(true);
  99. }
  100. if(!ushort.TryParse(_settings["LoginSubjectAddUser"], out _loginSAddUser))
  101. {
  102. Interface.LogFatal("[LoginPlugin] Add User Subject could not be found in settings.cnf");
  103. DarkRiftServer.Close(true);
  104. }
  105. if(!ushort.TryParse(_settings["LoginSubjectLoginSucces"], out _loginSLoginSuccess))
  106. {
  107. Interface.LogFatal("[LoginPlugin] User Login Success Subject could not be found in settings.cnf");
  108. DarkRiftServer.Close(true);
  109. }
  110. if(!ushort.TryParse(_settings["LoginSubjectLoginFailed"], out _loginSLoginFailed))
  111. {
  112. Interface.LogFatal("[LoginPlugin] User Login Failed Subject could not be found in settings.cnf");
  113. DarkRiftServer.Close(true);
  114. }
  115. if(!ushort.TryParse(_settings["LoginSubjectLogoutSuccess"], out _loginSLogoutSuccess))
  116. {
  117. Interface.LogFatal("[LoginPlugin] User Logout Success Subject could not be found in settings.cnf");
  118. DarkRiftServer.Close(true);
  119. }
  120. if(!ushort.TryParse(_settings["LoginSubjectAddUserSuccess"], out _loginSAddUserSuccess))
  121. {
  122. Interface.LogFatal("[LoginPlugin] Add User Success Subject could not be found in settings.cnf");
  123. DarkRiftServer.Close(true);
  124. }
  125. if(!ushort.TryParse(_settings["LoginSubjectAddUserFailed"], out _loginSAddUserFailed))
  126. {
  127. Interface.LogFatal("[LoginPlugin] Add User Failed Subject could not be found in settings.cnf");
  128. DarkRiftServer.Close(true);
  129. }
  130. if(!bool.TryParse(_settings["AllowAddUser"], out _allowAddUser))
  131. {
  132. Interface.LogFatal("[LoginPlugin] Allow Add User could not be found in settings.cnf");
  133. DarkRiftServer.Close(true);
  134. }
  135. if(!bool.TryParse(_settings["Debug"], out _debug))
  136. {
  137. Interface.LogFatal("[LoginPlugin]Debug could not be found in settings.cnf");
  138. DarkRiftServer.Close(true);
  139. }
  140.  
  141. ConnectionService.onServerMessage += OnServerMessage;
  142. }
  143.  
  144. private void OnServerMessage(ConnectionService con, NetworkMessage data)
  145. {
  146. if (data.tag == _loginT)
  147. {
  148. // Did we get an User Login Message
  149. if (data.subject == _loginSUserLogin)
  150. {
  151. Interface.Log("Login");
  152. }
  153. // Did we gat an User Logout Message
  154. if (data.subject == _loginSLogoutUser)
  155. {
  156. Interface.Log("Logout");
  157. }
  158. // Did we get an Add User Message
  159. if (data.subject == _loginSAddUser)
  160. {
  161. if(_allowAddUser)
  162. {
  163. Interface.Log("Adduser");
  164. }
  165. else
  166. {
  167. Interface.LogError("AllowAddUser is set to false");
  168. }
  169. }
  170. }
  171. }
  172. }
  173. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement