info.html 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  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 clearing basic segment">
  18. <h2 class="ui dividing header"><img src="img/minecraft.png" style="height:45px;width:auto;" alt="Minecraft icon" />Minecraft Server</h2>
  19. </div>
  20. <div class="ui clearing basic segment">
  21. <div class="left floated ui basic segment">
  22. <span id="status" style="font-size:18px;">Service started at 2020-01-01T00:00:00.</span>
  23. </div>
  24. <div class="right floated ui buttons">
  25. <button class="positive ui button" onclick="start()">Start</button>
  26. <button class="yellow ui button" onclick="stop()">Stop</button>
  27. <button class="orange ui button" onclick="kickall()">Kick All</button>
  28. <button class="negative ui button" onclick="kill()">Kill</button>
  29. </div>
  30. <br><br>
  31. <div class="ui divider"></div>
  32. </div>
  33. <div class="ui clearing basic segment">
  34. <div class="ui massive horizontal list">
  35. <div class="item">
  36. <img class="ui avatar image" style="border-radius: 0 !important" alt="cpu" src="/img/cpu.png">
  37. <div class="content">
  38. <p class="header">CPU Usage</p>
  39. <div class="description">
  40. <div class="ui small progress">
  41. <div class="bar"></div>
  42. </div>
  43. </div>
  44. </div>
  45. </div>
  46. <div class="item">
  47. <img class="ui avatar image" style="border-radius: 0 !important" alt="ram" src="/img/ram.png">
  48. <div class="content">
  49. <p class="header">RAM Usage</p>
  50. <div class="description">
  51. <div class="ui small progress">
  52. <div class="bar"></div>
  53. </div>
  54. </div>
  55. </div>
  56. </div>
  57. </div>
  58. <div class="ui divider"></div>
  59. </div>
  60. <div class="ui clearing basic segment">
  61. <div class="ui grid" id="userlist">
  62. <div class="sixteen wide column">
  63. <h3>Online player(s) (N/A)</h3>
  64. </div>
  65. </div>
  66. </div>
  67. </body>
  68. <script>
  69. function start() {
  70. $.get("start", function(data) {
  71. $("#status").text("Starting...");
  72. });
  73. }
  74. function stop() {
  75. $.get("stop", function(data) {
  76. $("#status").text("Stopping...");
  77. });
  78. }
  79. function kickall() {
  80. $.get("kickall");
  81. }
  82. function kill() {
  83. $.get("kill", function(data) {
  84. $("#status").text("Killing...");
  85. });
  86. }
  87. //Playerinfo
  88. var currentOnlineUser = [];
  89. setInterval(function() {
  90. updateInfo()
  91. }, 3000);
  92. function updateInfo() {
  93. $.get("serverinfo", function(data) {
  94. $("#userlist").html(`
  95. <div class="sixteen wide column">
  96. <h3>Online player(s) (` + data.online + `/` + data.max + `)</h3>
  97. </div>
  98. `)
  99. if (data.sample == null) {
  100. $("#userlist").html(`
  101. <div class="four wide column">
  102. <div class="ui massive horizontal list">
  103. <div class="item">
  104. <div class="content">
  105. <p>No one here :(</p>
  106. </div>
  107. </div>
  108. </div>
  109. </div>
  110. `)
  111. return
  112. }
  113. if (data.sample.length == 0) {
  114. $("#userlist").html(`
  115. <div class="four wide column">
  116. <div class="ui massive horizontal list">
  117. <div class="item">
  118. <div class="content">
  119. <p>No one here :(</p>
  120. </div>
  121. </div>
  122. </div>
  123. </div>
  124. `)
  125. return
  126. }
  127. if (data.sample == currentOnlineUser) {
  128. return
  129. }
  130. $.each(data.sample, function(i, item) {
  131. $("#userlist").append(`
  132. <div class="four wide column">
  133. <div class="ui massive horizontal list">
  134. <div class="item">
  135. <div class="ui avatar image">
  136. <div class="mc-face-viewer-8x" style="background-image:url('/skin/` + item.uuid + `.png');width:64px"></div>
  137. </div>
  138. <div class="content">
  139. <p>` + item.name + `</p>
  140. </div>
  141. </div>
  142. </div>
  143. </div>
  144. `)
  145. })
  146. });
  147. }
  148. </script>
  149. </html>