players.html 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <!-- Standard Meta -->
  5. <meta charset="utf-8" />
  6. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
  7. <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
  8. <!-- Site Properties -->
  9. <title>Minecraft Server</title>
  10. <script src="https://code.jquery.com/jquery-3.1.1.min.js" crossorigin="anonymous"></script>
  11. <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/semantic-ui@2.4.2/dist/semantic.min.css">
  12. <script src="https://cdn.jsdelivr.net/npm/semantic-ui@2.4.2/dist/semantic.min.js"></script>
  13. <!-- MC Skin-->
  14. <link rel="stylesheet" href="./css/minecraft-skinviewer.css">
  15. </head>
  16. <body>
  17. <div class="ui divided items" id="userlist">
  18. </div>
  19. </body>
  20. <script>
  21. var refreshInfo;
  22. var currentOnlineUser = [];
  23. setInterval(function() {
  24. updateInfo()
  25. }, 5000);
  26. function updateInfo() {
  27. $.get("serverinfo", function(data) {
  28. if (data.Info.sample == null) {
  29. $("#userlist").html(`
  30. <div class="item">
  31. <div class="content">
  32. <div class="header">No one here :(</div>
  33. </div>
  34. </div>
  35. `)
  36. return
  37. }
  38. if (data.Info.sample.length == 0) {
  39. $("#userlist").html(`
  40. <div class="item">
  41. <div class="content">
  42. <div class="header">No one here :(</div>
  43. </div>
  44. </div>
  45. `)
  46. return
  47. }
  48. $("#userlist").html("");
  49. $.each(data.Info.sample, function(i, item) {
  50. $("#userlist").append(`
  51. <div class="item">
  52. <div class="ui mini image" style="width:64px">
  53. <div class="mc-face-viewer-8x" style="background-image:url('/skin/` + item.uuid + `.png')"></div>
  54. </div>
  55. <div class="content">
  56. <div class="header">` + item.name + `</div>
  57. <div class="meta">
  58. <span>` + item.uuid + `</span>
  59. </div>
  60. </div>
  61. <div class="ui right floated buttons" style="display:block;margin:auto" username="` + item.name + `">
  62. <button onclick="op(this)" class="ui green button">Op</button>
  63. <button onclick="deop(this)" class="ui yellow button">De-Op</button>
  64. <button onclick="kick(this)" class="ui orange button">Kick</button>
  65. <button onclick="ban(this)" class="ui red button">Ban</button>
  66. </div>
  67. </div>
  68. `)
  69. })
  70. currentOnlineUser = data.sample;
  71. });
  72. }
  73. function op(btn) {
  74. var username = $(btn).parent().attr("username");
  75. sendCmd("op " + username);
  76. }
  77. function deop(btn) {
  78. var username = $(btn).parent().attr("username");
  79. sendCmd("deop " + username);
  80. }
  81. function kick(btn) {
  82. var username = $(btn).parent().attr("username");
  83. sendCmd("kick " + username);
  84. }
  85. function ban(btn) {
  86. var username = $(btn).parent().attr("username");
  87. sendCmd("ban " + username);
  88. }
  89. function sendCmd(cmdVal) {
  90. $.get("sendcommand?command=" + cmdVal, function(data) {});
  91. }
  92. </script>
  93. </html>