players.html 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  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. updateInfo();
  24. setInterval(function() {
  25. updateInfo()
  26. }, 5000);
  27. function updateInfo() {
  28. $.get("serverinfo", function(data) {
  29. if (data.Info.sample == null) {
  30. $("#userlist").html(`
  31. <div class="item">
  32. <div class="content">
  33. <div class="header">No one here :(</div>
  34. </div>
  35. </div>
  36. `)
  37. return
  38. }
  39. if (data.Info.sample.length == 0) {
  40. $("#userlist").html(`
  41. <div class="item">
  42. <div class="content">
  43. <div class="header">No one here :(</div>
  44. </div>
  45. </div>
  46. `)
  47. return
  48. }
  49. $("#userlist").html("");
  50. $.each(data.Info.sample, function(i, item) {
  51. $("#userlist").append(`
  52. <div class="item">
  53. <div class="ui mini image" style="width:64px">
  54. <div class="mc-face-viewer-8x" style="background-image:url('/skin/` + item.uuid + `.png')"></div>
  55. </div>
  56. <div class="content">
  57. <div class="header">` + item.name + `</div>
  58. <div class="meta">
  59. <span>` + item.uuid + `</span>
  60. </div>
  61. </div>
  62. <div class="ui right floated buttons" style="display:block;margin:auto" username="` + item.name + `">
  63. <button onclick="op(this)" class="ui green button">Op</button>
  64. <button onclick="deop(this)" class="ui yellow button">De-Op</button>
  65. <button onclick="kick(this)" class="ui orange button">Kick</button>
  66. <button onclick="ban(this)" class="ui red button">Ban</button>
  67. </div>
  68. </div>
  69. `)
  70. })
  71. currentOnlineUser = data.sample;
  72. });
  73. }
  74. function op(btn) {
  75. var username = $(btn).parent().attr("username");
  76. sendCmd("op " + username);
  77. }
  78. function deop(btn) {
  79. var username = $(btn).parent().attr("username");
  80. sendCmd("deop " + username);
  81. }
  82. function kick(btn) {
  83. var username = $(btn).parent().attr("username");
  84. sendCmd("kick " + username);
  85. }
  86. function ban(btn) {
  87. var username = $(btn).parent().attr("username");
  88. sendCmd("ban " + username);
  89. }
  90. function sendCmd(cmdVal) {
  91. $.get("sendcommand?command=" + cmdVal, function(data) {});
  92. }
  93. </script>
  94. </html>