The following document contains the results of PMD's CPD 4.2.5.
| File | Line |
|---|---|
| net\sourceforge\queried\gametypes\BF2142ServerInfo.java | 11 |
| net\sourceforge\queried\gametypes\BF2ServerInfo.java | 11 |
public class BF2ServerInfo {
public static ServerInfo getDetails(int localPort, String ipStr, int port, int infoType, int queryType,
int gameType) {
String queryResult = Util.getInfo(localPort, ipStr, port, infoType, queryType, gameType);
ServerInfo serverInfo = null;
if(queryResult != null && queryResult.length() > 0) {
serverInfo = new ServerInfo();
serverInfo.setGame(Util.getPartGS2(queryResult, "gamename"));
serverInfo.setGameVersion(Util.getPartGS2(queryResult, "gamever"));
serverInfo.setIp(ipStr);
serverInfo.setPort(Util.getPartGS2(queryResult, "hostport"));
serverInfo.setName(Util.getPartGS2(queryResult, "hostname"));
serverInfo.setMap(Util.getPartGS2(queryResult, "mapname"));
serverInfo.setPlayerCount(Util.getPartGS2(queryResult, "numplayers"));
serverInfo.setMaxPlayers(Util.getPartGS2(queryResult, "maxplayers"));
serverInfo.setFullResponse(queryResult);
}
return serverInfo;
}
public static ArrayList getPlayers(int localPort, String ipStr, int port, int infoType, int queryType,
int gameType) {
String recStr = Util.getInfo(localPort, ipStr, port, infoType, queryType, gameType);
ArrayList playerInfo = new ArrayList();
String[] players = assembleParts(recStr, "player_");
// didn't get any
if(players == null || players.length == 0) {
return playerInfo;
}
String[] scores = assembleParts(recStr, "score_");
String[] deaths = assembleParts(recStr, "deaths_");
String[] skills = assembleParts(recStr, "skill_");
try {
for(int i=0; i < players.length; i++) {
PlayerInfo player = new PlayerInfo();
// name
player.setName(players[i]);
// score
player.setScore(Integer.valueOf(scores[i]).intValue());
// deaths
player.setDeaths(Integer.valueOf(deaths[i]).intValue());
// kills
player.setKills(Integer.valueOf(skills[i]).intValue());
playerInfo.add(player);
}
} catch (ArrayIndexOutOfBoundsException aiex) {
// was time to break out - end of getting correct info
} catch (NumberFormatException nfex) {
// was time to break out - end of getting correct info
} catch (StringIndexOutOfBoundsException sobex) {
// was time to break out - end of getting correct info
}
Collections.sort(playerInfo, new ScoreComparator());
return playerInfo;
}
private static String[] assembleParts(String recStr, String markerString) {
char chr = 00;
String marker = markerString + chr;
boolean search = true;
int start = 0;
int end = 0;
String chunk = "";
String[] retArray = null;
while(search) {
start = recStr.indexOf(marker, start) + marker.length() + 1;
end = recStr.indexOf(chr +""+ chr, start);
if(end <= 0) {
end = recStr.length();
}
if(start == marker.length()) {
search = false;
}
if(search) {
chunk = recStr.substring(start, end);
if(retArray == null || retArray.length == 0) {
retArray = chunk.split(chr +"");
} else { // new chunk started with player_.>
String[] tmpArray = chunk.split(chr +"");
String[] copyArray = (String[]) retArray.clone();
retArray = new String[tmpArray.length + copyArray.length - 1];
// replace the last item as it is repeated fully in the new segment
System.arraycopy(copyArray, 0, retArray, 0, copyArray.length - 1);
System.arraycopy(tmpArray, 0, retArray, copyArray.length -1, tmpArray.length);
}
start = end;
}
}
if(retArray == null) {
return null;
}
return (String[]) retArray.clone();
}
} | |
| File | Line |
|---|---|
| net\sourceforge\queried\gametypes\ETServerInfo.java | 12 |
| net\sourceforge\queried\gametypes\SOF2Q3ServerInfo.java | 12 |
public class SOF2Q3ServerInfo {
public static ServerInfo getDetails(int localPort, String ipStr, int port, int infoType, int queryType,
int gameType) {
String queryResult = Util.getInfo(localPort, ipStr, port, "getstatus", infoType, queryType, gameType);
ServerInfo serverInfo = null;
if(queryResult != null && queryResult.length() > 0) {
queryResult = queryResult.substring(queryResult.indexOf("\\"));
queryResult = queryResult.replaceAll("\\^([0-9a-wyzA-WYZ]|x[0-9a-fA-F]{6})", "");
serverInfo = new ServerInfo();
String[] playerParts = queryResult.split("\n");
serverInfo.setGame(Util.getPart(queryResult, "gamename"));
serverInfo.setIp(ipStr);
serverInfo.setPort(port +"");
serverInfo.setName(Util.getPart(queryResult, "sv_hostname"));
serverInfo.setPlayerCount(playerParts.length - 1 +"");
serverInfo.setMaxPlayers(Util.getPart(queryResult, "sv_maxclients"));
serverInfo.setMap(Util.getPart(queryResult, "mapname"));
serverInfo.setFullResponse(queryResult);
}
return serverInfo;
}
public static ArrayList getPlayers(int localPort, String ipStr, int port, int infoType, int queryType,
int gameType) {
ArrayList playerInfo = new ArrayList();
String queryResult = Util.getInfo(localPort, ipStr, port, "getstatus", infoType, queryType, gameType);
if(queryResult == null || queryResult.length() < 1) {
return playerInfo;
}
queryResult = queryResult.substring(queryResult.indexOf("\\"));
queryResult = queryResult.replaceAll("\\^([0-9a-wyzA-WYZ]|x[0-9a-fA-F]{6})", "");
if(queryResult != null || queryResult.length() > 0) {
String[] plyrs = queryResult.split("\n");
int playerCount = plyrs.length-1;
for(int x=1; x < plyrs.length; x++) {
String plyr = plyrs[x];
String score = plyr.substring(0, plyr.indexOf(" "));
String name = plyr.substring(plyr.lastIndexOf(" ")); | |
| File | Line |
|---|---|
| net\sourceforge\queried\gametypes\AAServerInfo.java | 11 |
| net\sourceforge\queried\gametypes\BF2142ServerInfo.java | 11 |
public class BF2142ServerInfo {
public static ServerInfo getDetails(int localPort, String ipStr, int port, int infoType, int queryType,
int gameType) {
String queryResult = Util.getInfo(localPort, ipStr, port, infoType, queryType, gameType);
ServerInfo serverInfo = null;
if(queryResult != null && queryResult.length() > 0) {
serverInfo = new ServerInfo();
serverInfo.setGame(Util.getPartGS2(queryResult, "gamename"));
serverInfo.setGameVersion(Util.getPartGS2(queryResult, "gamever"));
serverInfo.setIp(ipStr);
serverInfo.setPort(Util.getPartGS2(queryResult, "hostport"));
serverInfo.setName(Util.getPartGS2(queryResult, "hostname"));
serverInfo.setMap(Util.getPartGS2(queryResult, "mapname"));
serverInfo.setPlayerCount(Util.getPartGS2(queryResult, "numplayers"));
serverInfo.setMaxPlayers(Util.getPartGS2(queryResult, "maxplayers"));
serverInfo.setFullResponse(queryResult);
}
return serverInfo;
}
public static ArrayList getPlayers(int localPort, String ipStr, int port, int infoType, int queryType,
int gameType) {
String recStr = Util.getInfo(localPort, ipStr, port, infoType, queryType, gameType); | |
| File | Line |
|---|---|
| net\sourceforge\queried\gametypes\HLServerInfo.java | 126 |
| net\sourceforge\queried\gametypes\SourceServerInfo.java | 90 |
StringBuffer netName = new StringBuffer(20);
while(buf[off] != 0) {
netName.append((char)(buf[off++] & 255));
}
serverInfo.setName(netName.toString());
off++;
StringBuffer mapName = new StringBuffer(20);
while(buf[off] != 0) {
mapName.append((char)(buf[off++] & 255));
}
serverInfo.setMap(mapName.toString());
off++;
// skip game directory
while(buf[off] != 0) {
off++;
}
off++;
StringBuffer gameDesc = new StringBuffer(20);
while(buf[off] != 0) {
gameDesc.append((char)(buf[off++] & 255));
}
serverInfo.setGame(gameDesc.toString());
off++; | |
| File | Line |
|---|---|
| net\sourceforge\queried\gametypes\ETServerInfo.java | 29 |
| net\sourceforge\queried\gametypes\NEXServerInfo.java | 33 |
serverInfo.setPlayerCount(Util.getPart(queryResult, "clients"));
serverInfo.setMaxPlayers(Util.getPart(queryResult, "sv_maxclients"));
serverInfo.setMap(Util.getPart(queryResult, "mapname"));
serverInfo.setFullResponse(queryResult);
}
return serverInfo;
}
public static ArrayList getPlayers(int localPort, String ipStr, int port, int infoType,
int queryType, int gameType) {
ArrayList playerInfo = new ArrayList();
String queryResult = Util.getInfo(localPort, ipStr, port, "getstatus", infoType, queryType, gameType);
if (queryResult == null || queryResult.length() < 1) {
return playerInfo;
}
queryResult = queryResult.substring(queryResult.indexOf("\\"));
queryResult = queryResult.replaceAll("\\^([0-9a-wyzA-WYZ]|x[0-9a-fA-F]{6})", "");
if (queryResult != null || queryResult.length() > 0) {
String[] plyrs = queryResult.split("\n"); | |
| File | Line |
|---|---|
| net\sourceforge\queried\gametypes\AAServerInfo.java | 20 |
| net\sourceforge\queried\gametypes\BFVServerInfo.java | 20 |
serverInfo.setGame(Util.getPartGS2(queryResult, "game_id"));
serverInfo.setGameVersion(Util.getPartGS2(queryResult, "gamever"));
serverInfo.setIp(ipStr);
serverInfo.setPort(Util.getPartGS2(queryResult, "hostport"));
serverInfo.setName(Util.getPartGS2(queryResult, "hostname"));
serverInfo.setMap(Util.getPartGS2(queryResult, "mapname"));
serverInfo.setPlayerCount(Util.getPartGS2(queryResult, "numplayers"));
serverInfo.setMaxPlayers(Util.getPartGS2(queryResult, "maxplayers"));
serverInfo.setFullResponse(queryResult);
}
return serverInfo;
}
public static ArrayList getPlayers(int localPort, String ipStr, int port, int infoType, int queryType,
int gameType) {
String recStr = Util.getInfo(localPort, ipStr, port, infoType, queryType, gameType);
// kills_.. (until next) ..
char chr = 00; | |
| File | Line |
|---|---|
| net\sourceforge\queried\gametypes\BF2142ServerInfo.java | 21 |
| net\sourceforge\queried\gametypes\BFVServerInfo.java | 20 |
serverInfo.setGame(Util.getPartGS2(queryResult, "game_id"));
serverInfo.setGameVersion(Util.getPartGS2(queryResult, "gamever"));
serverInfo.setIp(ipStr);
serverInfo.setPort(Util.getPartGS2(queryResult, "hostport"));
serverInfo.setName(Util.getPartGS2(queryResult, "hostname"));
serverInfo.setMap(Util.getPartGS2(queryResult, "mapname"));
serverInfo.setPlayerCount(Util.getPartGS2(queryResult, "numplayers"));
serverInfo.setMaxPlayers(Util.getPartGS2(queryResult, "maxplayers"));
serverInfo.setFullResponse(queryResult);
}
return serverInfo;
}
public static ArrayList getPlayers(int localPort, String ipStr, int port, int infoType, int queryType,
int gameType) {
String recStr = Util.getInfo(localPort, ipStr, port, infoType, queryType, gameType); | |
| File | Line |
|---|---|
| net\sourceforge\queried\gametypes\HLServerInfo.java | 53 |
| net\sourceforge\queried\gametypes\SourceServerInfo.java | 42 |
while(off < buf.length) {
PlayerInfo playerInfo = new PlayerInfo();
StringBuffer playerName = new StringBuffer(20);
while(buf[off] != 0) {
playerName.append((char)(buf[off++] & 255));
}
off++;
playerInfo.setName(playerName.toString().trim());
playerInfo.setKills((buf[off] & 255) | ((buf[off+1] & 255) << 8) |
((buf[off+2] & 255) << 16) | ((buf[off+3] & 255) << 24));
sorted.add(playerInfo);
off += 9; | |
| File | Line |
|---|---|
| net\sourceforge\queried\gametypes\NEXServerInfo.java | 33 |
| net\sourceforge\queried\gametypes\WSWServerInfo.java | 39 |
queryResult.indexOf("\\clients\\") + 10));
serverInfo.setMaxPlayers(Util.getPart(queryResult, "sv_maxclients"));
serverInfo.setMap(Util.getPart(queryResult, "mapname"));
serverInfo.setFullResponse(queryResult);
}
return serverInfo;
}
public static ArrayList getPlayers(int localPort, String ipStr, int port, int infoType, int queryType,
int gameType) {
ArrayList playerInfo = new ArrayList();
String queryResult = Util.getInfo(localPort, ipStr, port, "getstatus",
infoType, queryType, gameType);
if (queryResult == null || queryResult.length() < 1) {
return playerInfo;
}
queryResult = queryResult.substring(
queryResult.indexOf("\\clients\\") + 9, | |
| File | Line |
|---|---|
| net\sourceforge\queried\gametypes\SOF2Q3ServerInfo.java | 29 |
| net\sourceforge\queried\gametypes\WSWServerInfo.java | 39 |
queryResult.indexOf("\\clients\\") + 10));
serverInfo.setMaxPlayers(Util.getPart(queryResult, "sv_maxclients"));
serverInfo.setMap(Util.getPart(queryResult, "mapname"));
serverInfo.setFullResponse(queryResult);
}
return serverInfo;
}
public static ArrayList getPlayers(int localPort, String ipStr, int port, int infoType, int queryType,
int gameType) {
ArrayList playerInfo = new ArrayList();
String queryResult = Util.getInfo(localPort, ipStr, port, "getstatus",
infoType, queryType, gameType);
if (queryResult == null || queryResult.length() < 1) {
return playerInfo;
}
queryResult = queryResult.substring(
queryResult.indexOf("\\clients\\") + 9, | |
| File | Line |
|---|---|
| net\sourceforge\queried\gametypes\NEXServerInfo.java | 56 |
| net\sourceforge\queried\gametypes\SOF2Q3ServerInfo.java | 53 |
for(int x=1; x < plyrs.length; x++) {
String plyr = plyrs[x];
String score = plyr.substring(0, plyr.indexOf(" "));
String name = plyr.substring(plyr.lastIndexOf(" "));
PlayerInfo player = new PlayerInfo();
player.setDeaths(-9999);
player.setKills(Integer.valueOf(score).intValue());
player.setName(name);
player.setScore(-9999);
playerInfo.add(player);
}
Collections.sort(playerInfo, new ScoreComparator());
}
return playerInfo;
}
} | |
| File | Line |
|---|---|
| net\sourceforge\queried\gametypes\ETServerInfo.java | 29 |
| net\sourceforge\queried\gametypes\WSWServerInfo.java | 39 |
queryResult.indexOf("\\clients\\") + 10));
serverInfo.setMaxPlayers(Util.getPart(queryResult, "sv_maxclients"));
serverInfo.setMap(Util.getPart(queryResult, "mapname"));
serverInfo.setFullResponse(queryResult);
}
return serverInfo;
}
public static ArrayList getPlayers(int localPort, String ipStr, int port, int infoType, int queryType,
int gameType) {
ArrayList playerInfo = new ArrayList();
String queryResult = Util.getInfo(localPort, ipStr, port, "getstatus",
infoType, queryType, gameType);
if (queryResult == null || queryResult.length() < 1) {
return playerInfo;
}
queryResult = queryResult.substring(
queryResult.indexOf("\\clients\\") + 9, | |