Multiple bug fixes, loginsecurity fully functioning

This commit is contained in:
PanFritz
2015-08-17 04:54:02 +02:00
parent 2ae64488ad
commit 6574179872
3 changed files with 27 additions and 24 deletions
+17 -11
View File
@@ -31,8 +31,7 @@ def matches_thread(password, user):
else: else:
if py_player.logging_in: if py_player.logging_in:
msg(user, "&cInvalid password!") msg(user, "&cInvalid password!")
else:
msg(user,"&cAlready logged in!")
@@ -69,6 +68,11 @@ def change_pass_command(sender, command, label, args):
senderLimit = 0, senderLimit = 0,
helpNoargs = True) helpNoargs = True)
def login_command(sender, command, label, args): def login_command(sender, command, label, args):
py_player = get_py_player(sender)
if not py_player.logging_in:
msg(sender,"&cAlready logged in!")
password = args[0] password = args[0]
matches(password, sender) matches(password, sender)
@@ -128,6 +132,7 @@ def rmpass_command(sender, command, label, args):
@simplecommand("rmotherpass", @simplecommand("rmotherpass",
aliases = ["lacrmpass"], aliases = ["lacrmpass"],
usage = "<user>", usage = "<user>",
senderLimit = -1,
description = "Removes password of <user> and sends them a notification", description = "Removes password of <user> and sends them a notification",
helpNoargs = True) helpNoargs = True)
def rmotherpass_command(sender, command, label, args): def rmotherpass_command(sender, command, label, args):
@@ -198,7 +203,7 @@ def delete_pass(uuid):
curs.close() curs.close()
conn.close() conn.close()
@hook.event("player.PlayerJoinEvent", "high") @hook.event("player.PlayerJoinEvent", "low")
def on_join(event): def on_join(event):
user = event.getPlayer() user = event.getPlayer()
py_player = get_py_player(event.getPlayer()) py_player = get_py_player(event.getPlayer())
@@ -235,16 +240,17 @@ def kick_thread():
time.sleep(1) time.sleep(1)
now = time.time() now = time.time()
for py_player in py_players: for py_player in py_players:
if now - py_player.login_time > wait_time: if py_player.logging_in:
player = py_player.player if now - py_player.login_time > wait_time:
kick = kick_class(player) player = py_player.player
server.getScheduler().runTask(server.getPluginManager().getPlugin("RedstonerUtils"), kick) kick = kick_class(player)
server.getScheduler().runTask(server.getPluginManager().getPlugin("RedstonerUtils"), kick)
"""if name in logging_in: """if name in logging_in:
del logging_in[name] del logging_in[name]
break break
""" """
thread = threading.Thread(target = kick_thread) thread = threading.Thread(target = kick_thread)
+1 -1
View File
@@ -79,7 +79,7 @@ shared["load_modules"] = [
# Replacement for LoginSecurity # Replacement for LoginSecurity
"loginsecurity", "loginsecurity",
# Centralized Player class # Centralized Player class
"playermanager" "player"
] ]
shared["modules"] = {} shared["modules"] = {}
for module in shared["load_modules"]: for module in shared["load_modules"]:
+8 -11
View File
@@ -3,29 +3,26 @@ from helpers import *
py_players = [] py_players = []
class py_player: class py_player:
def __init__(self,player): def __init__(self,player):
self.player = player self.player = player
"""
Player properties, please add a short description of the property when adding a new one.
"""
self.logging_in = False self.logging_in = False
self.login_time = 0 self.login_time = 0
def get_py_player(player): def get_py_player(player):
py_player = players[players.index(player)] #py_player = py_players[py_players.index(player)]
return py_player
for py_player in py_players:
if py_player.player.getName() == player.getName():
return py_player
@hook.event("player.PlayerJoinEvent","lowest") @hook.event("player.PlayerJoinEvent","lowest")
def on_join(event): def on_join(event):
player = py_player(event.getPlayer()) player = py_player(event.getPlayer())
players.append(player) py_players.append(player)
print str(len(py_players))+event.getPlayer().getName()
@hook.event("player.PlayerQuitEvent","highest") @hook.event("player.PlayerQuitEvent","highest")
def on_leave(event): def on_leave(event):
players.remove(get_py_player(event.getPlayer())) py_players.remove(get_py_player(event.getPlayer()))