mirror of
https://github.com/ProjectSWGCore/Holocore.git
synced 2026-10-04 19:13:19 -04:00
Added check for repeated login attempts
This commit is contained in:
@@ -166,6 +166,10 @@ public class LoginService extends Service {
|
||||
|
||||
private void handleLogin(Player player, LoginClientId id) {
|
||||
Assert.notNull(player);
|
||||
if (player.getPlayerState() == PlayerState.LOGGED_IN) { // Client occasionally sends multiple login requests
|
||||
sendLoginSuccessPacket(player);
|
||||
return;
|
||||
}
|
||||
Assert.test(player.getPlayerState() == PlayerState.CONNECTED);
|
||||
Assert.test(player.getPlayerServer() == PlayerServer.NONE);
|
||||
player.setPlayerState(PlayerState.LOGGING_IN);
|
||||
@@ -250,7 +254,7 @@ public class LoginService extends Service {
|
||||
new LoginEventIntent(player.getNetworkId(), LoginEvent.LOGIN_FAIL_SERVER_ERROR).broadcast();
|
||||
}
|
||||
|
||||
private void sendLoginSuccessPacket(Player player) throws SQLException {
|
||||
private void sendLoginSuccessPacket(Player player) {
|
||||
LoginClientToken token = new LoginClientToken(SESSION_TOKEN, player.getUserId(), player.getUsername());
|
||||
LoginEnumCluster cluster = new LoginEnumCluster();
|
||||
LoginClusterStatus clusterStatus = new LoginClusterStatus();
|
||||
@@ -298,29 +302,33 @@ public class LoginService extends Service {
|
||||
return "Invalid password";
|
||||
}
|
||||
|
||||
private List <Galaxy> getGalaxies(Player p) throws SQLException {
|
||||
private List <Galaxy> getGalaxies(Player p) {
|
||||
List<Galaxy> galaxies = new ArrayList<>();
|
||||
galaxies.add(CoreManager.getGalaxy());
|
||||
return galaxies;
|
||||
}
|
||||
|
||||
private SWGCharacter [] getCharacters(int userId) throws SQLException {
|
||||
private SWGCharacter [] getCharacters(int userId) {
|
||||
List <SWGCharacter> characters = new ArrayList<>();
|
||||
synchronized (getCharacters) {
|
||||
getCharacters.setInt(1, userId);
|
||||
List <SWGCharacter> characters = new ArrayList<>();
|
||||
try (ResultSet set = getCharacters.executeQuery()) {
|
||||
while (set.next()) {
|
||||
SWGCharacter c = new SWGCharacter();
|
||||
c.setId(set.getInt("id"));
|
||||
c.setName(set.getString("name"));
|
||||
c.setGalaxyId(CoreManager.getGalaxyId());
|
||||
c.setRaceCrc(Race.getRaceByFile(set.getString("race")).getCrc());
|
||||
c.setType(1); // 1 = Normal (2 = Jedi, 3 = Spectral)
|
||||
characters.add(c);
|
||||
try {
|
||||
getCharacters.setInt(1, userId);
|
||||
try (ResultSet set = getCharacters.executeQuery()) {
|
||||
while (set.next()) {
|
||||
SWGCharacter c = new SWGCharacter();
|
||||
c.setId(set.getInt("id"));
|
||||
c.setName(set.getString("name"));
|
||||
c.setGalaxyId(CoreManager.getGalaxyId());
|
||||
c.setRaceCrc(Race.getRaceByFile(set.getString("race")).getCrc());
|
||||
c.setType(1); // 1 = Normal (2 = Jedi, 3 = Spectral)
|
||||
characters.add(c);
|
||||
}
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
Log.e(this, e);
|
||||
}
|
||||
return characters.toArray(new SWGCharacter[characters.size()]);
|
||||
}
|
||||
return characters.toArray(new SWGCharacter[characters.size()]);
|
||||
}
|
||||
|
||||
private boolean deleteCharacter(SWGObject obj) {
|
||||
|
||||
Reference in New Issue
Block a user