|
@@ -17,10 +17,15 @@ func _ready():
|
|
|
custom_multiplayer.set_root_node(self)
|
|
|
custom_multiplayer.set_network_peer(net)
|
|
|
|
|
|
-# net.connect("peer_disconnected",self,"disc")
|
|
|
+ net.connect("peer_disconnected",self,"disc")
|
|
|
net.connect("peer_connected",self,"conn")
|
|
|
pass # Replace with function body.
|
|
|
|
|
|
+func disc(id):
|
|
|
+ print('removing token from peer: ' + str(id))
|
|
|
+ var db = get_parent().get_node('PostgreSQL')
|
|
|
+ db.Delete('validtokens_database',"ip", "'"+str(id)+"'")
|
|
|
+
|
|
|
func _process(_delta):
|
|
|
custom_multiplayer.poll()
|
|
|
|
|
@@ -62,12 +67,17 @@ remote func password_confirmation(username,password, salt):
|
|
|
print(salt)
|
|
|
print(password)
|
|
|
print(password_db)
|
|
|
+ var token_query = db.Read('validtokens_database',"username", "'"+username+"'")
|
|
|
+ print('***token query is:')
|
|
|
+ print(token_query)
|
|
|
+ print('***token query')
|
|
|
+ if token_query != []: message = 'user is already logged in'
|
|
|
if password != password_db: message = 'password or username is wrong'
|
|
|
rpc_id(api.get_rpc_sender_id(), 'update_status', message)
|
|
|
if message != 'login...': return
|
|
|
- var ip = api.get_peer_address(api.get_rpc_sender_id())
|
|
|
+ var ip = api.get_rpc_sender_id()
|
|
|
print(ip)
|
|
|
- var token = ( username+ip+str(OS.get_unix_time())).sha256_text()
|
|
|
+ var token = ( str(username)+str(ip)+str(OS.get_unix_time())).sha256_text()
|
|
|
db.Delete('validtokens_database',"username", "'"+username+"'")
|
|
|
db.Create('validtokens_database',['username','token','ip','creation_date'],[username, token, ip, str(OS.get_unix_time())])
|
|
|
rpc_id(api.get_rpc_sender_id(), '_on_servertoken', token, username)
|