This build adds a killswitch for the 5th, this can be enabled and disabled at will, when enabled it fully blocks login requests from the game, which prevents it's usage. The client will display "Login Failed" due to it being supplied with a fake "Malformed Request" error that is a way to prevent any further attempts.

This commit is contained in:
James Quinley 2022-09-02 19:15:01 -07:00
parent 8316f789c7
commit b097009fd3
2 changed files with 148 additions and 124 deletions

View File

@ -29,6 +29,7 @@ public class delegationServices {
static MongoCollection<Document> RGFilter;
public static void connectionInit (Boolean beta)
{
//TODO Send Server Version As Standard.
if (beta == true)
{
scReadconnectionString = new ConnectionString("mongodb+srv://serverClientBeta:Unz6c3I0wjrUVBIf@delegationrequest.qnvfa.mongodb.net/mDelegationRequest?retryWrites=true&w=majority");
@ -913,136 +914,158 @@ public class delegationServices {
}
}
if (requesttype == 18) {
//TOKEN LOGIN FOR GAME, DOES NOT SEND EMAIL, LAUNCHER WILL NOT USE THIS.
System.out.println("Game Login");
int CTOKEN = (int) Lrequest.get("Token");
Document accountServer;
int TKN;
String Password;
String Fname;
String Path;
String UserName;
String Email;
String Uid;
System.out.println("VarInit");
try {
accountServer = accountS.find(eq("Token", CTOKEN)).first();
System.out.println("PollServer");
TKN = (int) accountServer.get("Token");
System.out.println("TokenPulled");
if (accountServer.get("Status").equals(true)) {
if (TKN == CTOKEN) {
System.out.println("TokenGood");
TKN = (int) accountServer.get("Token");
Password = (String) accountServer.get("Password");
Fname = (String) accountServer.get("FName");
Path = (String) accountServer.get("Path");
Email = (String) accountServer.get("Email");
// Uid = (String) accountServer.get("Uid");
UserName = (String) accountServer.get("User");
System.out.println("GotAccount");
BasicDBObject searchQuery = new BasicDBObject();
searchQuery.append("clientid", ClientID);
Filter = RGFilter.find(eq("rgkey", "UAROCKS")).first();
String apiV = (String) Filter.get("gameAPI");
String MOTD = (String) Filter.get("motd");
System.out.println("ApiGrabbed");
if ((Boolean)Filter.get("gameActive") == true)
{
//Deprecated, a killswitch has been added under rgcon in the field "gameActive"
//TOKEN LOGIN FOR GAME, DOES NOT SEND EMAIL, LAUNCHER WILL NOT USE THIS.
System.out.println("Game Login");
int CTOKEN = (int) Lrequest.get("Token");
Document accountServer;
int TKN;
String Password;
String Fname;
String Path;
String UserName;
String Email;
String Uid;
System.out.println("VarInit");
try {
accountServer = accountS.find(eq("Token", CTOKEN)).first();
System.out.println("PollServer");
TKN = (int) accountServer.get("Token");
System.out.println("TokenPulled");
if (accountServer.get("Status").equals(true)) {
if (TKN == CTOKEN) {
System.out.println("TokenGood");
TKN = (int) accountServer.get("Token");
Password = (String) accountServer.get("Password");
Fname = (String) accountServer.get("FName");
Path = (String) accountServer.get("Path");
Email = (String) accountServer.get("Email");
// Uid = (String) accountServer.get("Uid");
UserName = (String) accountServer.get("User");
System.out.println("GotAccount");
BasicDBObject searchQuery = new BasicDBObject();
searchQuery.append("clientid", ClientID);
Filter = RGFilter.find(eq("rgkey", "UAROCKS")).first();
String apiV = (String) Filter.get("gameAPI");
String MOTD = (String) Filter.get("motd");
System.out.println("ApiGrabbed");
System.out.println("initBasicDBObject");
BasicDBObject updateQuery = new BasicDBObject();
BasicDBObject updateQuery2 = new BasicDBObject();
BasicDBObject updateQuery3 = new BasicDBObject();
BasicDBObject updateQuery4 = new BasicDBObject();
BasicDBObject updateQuery5 = new BasicDBObject();
BasicDBObject updateQuery6 = new BasicDBObject();
BasicDBObject updateQuery7 = new BasicDBObject();
BasicDBObject updateQuery8 = new BasicDBObject();
BasicDBObject updateQuery9 = new BasicDBObject();
BasicDBObject updateQuery10 = new BasicDBObject();
// BasicDBObject updateQuery11 = new BasicDBObject();
updateQuery.append("$set",
new BasicDBObject().append("type", 8));
updateQuery2.append("$set",
new BasicDBObject().append("Fname", Fname));
updateQuery3.append("$set",
new BasicDBObject().append("Path", Path));
updateQuery4.append("$set",
new BasicDBObject().append("User", UserName));
updateQuery5.append("$set",
new BasicDBObject().append("Password", Password));
updateQuery7.append("$set",
new BasicDBObject().append("Email", Email));
updateQuery6.append("$set",
new BasicDBObject().append("status", true));
updateQuery8.append("$set",
new BasicDBObject().append("Token", TKN));
updateQuery9.append("$set",
new BasicDBObject().append("api", apiV));
updateQuery10.append("$set",
new BasicDBObject().append("motd", MOTD));
System.out.println("Sending Info To Forwarding Server");
dCollection.updateOne(searchQuery, updateQuery);
dCollection.updateOne(searchQuery, updateQuery10);
dCollection.updateOne(searchQuery, updateQuery2);
dCollection.updateOne(searchQuery, updateQuery3);
dCollection.updateOne(searchQuery, updateQuery4);
dCollection.updateOne(searchQuery, updateQuery5);
dCollection.updateOne(searchQuery, updateQuery8);
dCollection.updateOne(searchQuery, updateQuery7);
dCollection.updateOne(searchQuery, updateQuery9);
dCollection.updateOne(searchQuery, updateQuery6);
//delegationTimer.trigger();
System.out.println("Pushed");
delegationTimer.DeleteTargetRequest(ClientID);
} else {
System.out.println("Login Failure");
BasicDBObject searchQuery = new BasicDBObject();
searchQuery.append("clientid", ClientID);
System.out.println("initBasicDBObject");
BasicDBObject updateQuery = new BasicDBObject();
BasicDBObject updateQuery2 = new BasicDBObject();
BasicDBObject updateQuery3 = new BasicDBObject();
BasicDBObject updateQuery4 = new BasicDBObject();
BasicDBObject updateQuery5 = new BasicDBObject();
BasicDBObject updateQuery6 = new BasicDBObject();
BasicDBObject updateQuery7 = new BasicDBObject();
BasicDBObject updateQuery8 = new BasicDBObject();
BasicDBObject updateQuery9 = new BasicDBObject();
BasicDBObject updateQuery10 = new BasicDBObject();
// BasicDBObject updateQuery11 = new BasicDBObject();
updateQuery.append("$set",
new BasicDBObject().append("type", 8));
updateQuery2.append("$set",
new BasicDBObject().append("Fname", Fname));
updateQuery3.append("$set",
new BasicDBObject().append("Path", Path));
updateQuery4.append("$set",
new BasicDBObject().append("User", UserName));
updateQuery5.append("$set",
new BasicDBObject().append("Password", Password));
updateQuery7.append("$set",
new BasicDBObject().append("Email", Email));
updateQuery6.append("$set",
new BasicDBObject().append("status", true));
updateQuery8.append("$set",
new BasicDBObject().append("Token", TKN));
updateQuery9.append("$set",
new BasicDBObject().append("api", apiV));
updateQuery10.append("$set",
new BasicDBObject().append("motd", MOTD));
System.out.println("Sending Info To Forwarding Server");
dCollection.updateOne(searchQuery, updateQuery);
dCollection.updateOne(searchQuery, updateQuery10);
dCollection.updateOne(searchQuery, updateQuery2);
dCollection.updateOne(searchQuery, updateQuery3);
dCollection.updateOne(searchQuery, updateQuery4);
dCollection.updateOne(searchQuery, updateQuery5);
dCollection.updateOne(searchQuery, updateQuery8);
dCollection.updateOne(searchQuery, updateQuery7);
dCollection.updateOne(searchQuery, updateQuery9);
dCollection.updateOne(searchQuery, updateQuery6);
//delegationTimer.trigger();
System.out.println("Pushed");
delegationTimer.DeleteTargetRequest(ClientID);
} else {
System.out.println("Login Failure");
BasicDBObject searchQuery = new BasicDBObject();
searchQuery.append("clientid", ClientID);
BasicDBObject updateQuery = new BasicDBObject();
BasicDBObject updateQuery1 = new BasicDBObject();
updateQuery.append("$set",
new BasicDBObject().append("type", 9));
updateQuery1.append("$set",
new BasicDBObject().append("status", true));
dCollection.updateOne(searchQuery, updateQuery);
dCollection.updateOne(searchQuery, updateQuery1);
//delegationTimer.trigger();
delegationTimer.DeleteTargetRequest(ClientID);
BasicDBObject updateQuery = new BasicDBObject();
BasicDBObject updateQuery1 = new BasicDBObject();
updateQuery.append("$set",
new BasicDBObject().append("type", 9));
updateQuery1.append("$set",
new BasicDBObject().append("status", true));
dCollection.updateOne(searchQuery, updateQuery);
dCollection.updateOne(searchQuery, updateQuery1);
//delegationTimer.trigger();
delegationTimer.DeleteTargetRequest(ClientID);
}
} else {
System.out.println("Banned Account");
BasicDBObject searchQuery = new BasicDBObject();
searchQuery.append("clientid", ClientID);
}
} else {
System.out.println("Banned Account");
BasicDBObject searchQuery = new BasicDBObject();
searchQuery.append("clientid", ClientID);
BasicDBObject updateQuery = new BasicDBObject();
BasicDBObject updateQuery1 = new BasicDBObject();
updateQuery.append("$set",
new BasicDBObject().append("type", 11));
updateQuery1.append("$set",
new BasicDBObject().append("status", true));
dCollection.updateOne(searchQuery, updateQuery);
dCollection.updateOne(searchQuery, updateQuery1);
delegationTimer.DeleteTargetRequest(ClientID);
}
} catch (MongoCommandException ERC) {
System.out.println("Mongodb Error " + ERC);
BasicDBObject searchQuery = new BasicDBObject();
searchQuery.append("clientid", ClientID);
BasicDBObject updateQuery = new BasicDBObject();
BasicDBObject updateQuery1 = new BasicDBObject();
updateQuery.append("$set",
new BasicDBObject().append("type", 11));
updateQuery1.append("$set",
new BasicDBObject().append("status", true));
dCollection.updateOne(searchQuery, updateQuery);
dCollection.updateOne(searchQuery, updateQuery1);
delegationTimer.DeleteTargetRequest(ClientID);
}
} catch (MongoCommandException ERC) {
System.out.println("Mongodb Error " + ERC);
BasicDBObject searchQuery = new BasicDBObject();
searchQuery.append("clientid", ClientID);
BasicDBObject updateQuery = new BasicDBObject();
BasicDBObject updateQuery1 = new BasicDBObject();
updateQuery.append("$set",
new BasicDBObject().append("type", 7));
updateQuery1.append("$set",
new BasicDBObject().append("status", true));
dCollection.updateOne(searchQuery, updateQuery);
dCollection.updateOne(searchQuery, updateQuery1);
delegationTimer.DeleteTargetRequest(ClientID);
//delegationTimer.trigger();
}
}
else
{
System.out.println("Login rejected, game client EOS has been reached.");
BasicDBObject searchQuery = new BasicDBObject();
searchQuery.append("clientid", ClientID);
BasicDBObject updateQuery = new BasicDBObject();
BasicDBObject updateQuery1 = new BasicDBObject();
updateQuery.append("$set",
new BasicDBObject().append("type", 7));
updateQuery1.append("$set",
new BasicDBObject().append("status", true));
dCollection.updateOne(searchQuery, updateQuery);
dCollection.updateOne(searchQuery, updateQuery1);
//delegationTimer.trigger();
delegationTimer.DeleteTargetRequest(ClientID);
}
BasicDBObject updateQuery = new BasicDBObject();
BasicDBObject updateQuery1 = new BasicDBObject();
updateQuery.append("$set",
new BasicDBObject().append("type", 7));
updateQuery1.append("$set",
new BasicDBObject().append("status", true));
dCollection.updateOne(searchQuery, updateQuery);
dCollection.updateOne(searchQuery, updateQuery1);
delegationTimer.DeleteTargetRequest(ClientID);
//delegationTimer.trigger();
}
}
if (requesttype == 10) {
System.out.println("Account Creation Request");

View File

@ -2,5 +2,6 @@ package com.jamesquinley.DelegationServices;
public class status {
public static boolean betaServer = false;
public static String serverVersion = "1.1";
//Beta server has been discontinued, the database that the server depended on has been shut down.
}