Skip to content

Commit

Permalink
Lets hope this finally fixes the strangeness
Browse files Browse the repository at this point in the history
  • Loading branch information
dries007 committed Mar 5, 2016
1 parent 8bb5705 commit d3da228
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 82 deletions.
Expand Up @@ -18,16 +18,15 @@

package net.doubledoordev.backend.server.query;

import com.google.common.base.Charsets;

import java.util.ArrayList;

/**
* @author Ryan McCann
*/
public class QueryResponse
{
static byte NULL = 00;
static byte SPACE = 20;

private boolean fullstat;

//for simple stat
Expand All @@ -52,92 +51,35 @@ public QueryResponse(byte[] data, boolean fullstat)
// if(temp.length == 6) //short stat
if (!fullstat)
{
motd = new String(ByteUtils.subarray(temp[0], 1, temp[0].length - 1));
gameMode = new String(temp[1]);
mapName = new String(temp[2]);
onlinePlayers = Integer.parseInt(new String(temp[3]));
maxPlayers = Integer.parseInt(new String(temp[4]));
motd = new String(ByteUtils.subarray(temp[0], 1, temp[0].length - 1), Charsets.UTF_8);
gameMode = new String(temp[1], Charsets.UTF_8);
mapName = new String(temp[2], Charsets.UTF_8);
onlinePlayers = Integer.parseInt(new String(temp[3], Charsets.UTF_8));
maxPlayers = Integer.parseInt(new String(temp[4], Charsets.UTF_8));
port = ByteUtils.bytesToShort(temp[5]);
hostname = new String(ByteUtils.subarray(temp[5], 2, temp[5].length - 1));
hostname = new String(ByteUtils.subarray(temp[5], 2, temp[5].length - 1), Charsets.UTF_8);
}
else //full stat
{
motd = new String(temp[3]);
gameMode = new String(temp[5]);
mapName = new String(temp[13]);
onlinePlayers = Integer.parseInt(new String(temp[15]));
maxPlayers = Integer.parseInt(new String(temp[17]));
port = Short.parseShort(new String(temp[19]));
hostname = new String(temp[21]);
motd = new String(temp[3], Charsets.UTF_8);
gameMode = new String(temp[5], Charsets.UTF_8);
mapName = new String(temp[13], Charsets.UTF_8);
onlinePlayers = Integer.parseInt(new String(temp[15], Charsets.UTF_8));
maxPlayers = Integer.parseInt(new String(temp[17], Charsets.UTF_8));
port = Short.parseShort(new String(temp[19], Charsets.UTF_8));
hostname = new String(temp[21], Charsets.UTF_8);

//only available with full stat:
gameID = new String(temp[7]);
version = new String(temp[9]);
plugins = new String(temp[11]);
gameID = new String(temp[7], Charsets.UTF_8);
version = new String(temp[9], Charsets.UTF_8);
plugins = new String(temp[11], Charsets.UTF_8);

playerList = new ArrayList<String>();
playerList = new ArrayList<>();
for (int i = 25; i < temp.length; i++)
{
playerList.add(new String(temp[i]));
}
}
}

/**
* Returns a JSON string representation of the data returned from the server, useful for JSP/servlet pages with javascript.
*
* @return a JSON string
*/
public String asJSON()
{
StringBuilder json = new StringBuilder();
json.append("\'{");
json.append("\"motd\":"); // "motd":
json.append('"').append(motd).append("\","); // "A Minecraft Server",

json.append("\"gamemode\":"); // "gamemode":
json.append('"').append(gameMode).append("\","); // "SMP",

json.append("\"map\":"); // "map":
json.append('"').append(mapName).append("\","); // "world1",

json.append("\"onlinePlayers\":"); // "onlinePlayers":
json.append(onlinePlayers).append(','); // 0,

json.append("\"maxPlayers\":"); // "maxPlayers":
json.append(maxPlayers).append(','); // 20,

json.append("\"port\":"); // "port":
json.append(port).append(','); // 25565,

json.append("\"host\":"); // "hostname":
json.append('"').append(hostname).append('"'); // "0.0.0.0",

if (fullstat)
{
json.append(',');
json.append("\"gameID\":"); // "gameID":
json.append('"').append(gameID).append("\","); // "MINECRAFT",

json.append("\"version\":"); // "version":
json.append('"').append(version).append("\","); // "1.2.5",

json.append("\"players\":");
json.append('[');
for (String player : playerList)
{
json.append("\"" + player + "\"");
if (playerList.indexOf(player) != playerList.size() - 1)
{
json.append(',');
}
playerList.add(new String(temp[i], Charsets.UTF_8));
}
json.append(']');
}

json.append("}\'");

return json.toString();
}

public String toString()
Expand Down
5 changes: 1 addition & 4 deletions src/main/java/net/doubledoordev/backend/util/Helper.java
Expand Up @@ -294,10 +294,7 @@ public static String getReadOnlyProperties()
{
JsonArray array = new JsonArray();

if (SETTINGS.fixedPorts)
{
array.add(new JsonPrimitive(Server.SERVER_PORT));
}
if (SETTINGS.fixedPorts) array.add(new JsonPrimitive(Server.SERVER_PORT));
if (SETTINGS.fixedIP) array.add(new JsonPrimitive(Server.SERVER_IP));

array.add(new JsonPrimitive(Server.QUERY_PORT));
Expand Down

0 comments on commit d3da228

Please sign in to comment.