123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 |
- extends Node
- var net = NetworkedMultiplayerENet.new()
- var api = MultiplayerAPI.new()
- var port = 1909
- var maxplayer = 100
- #var cert = load('user://Certificate/x509_Certificate.crt')
- #var key = load('user://Certificate/x509_Key.key')
- func _ready():
- print('Login listening to port: ' + str(port))
- net.create_server(port, maxplayer)
- # net.set_dtls_key(key)
- # net.set_dtls_certificate(cert)
- # net.set_dtls_enabled(true)
- self.set_custom_multiplayer(api)
- custom_multiplayer.set_root_node(self)
- custom_multiplayer.set_network_peer(net)
-
- 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()
- var playerphsyics = preload('res://playerphysics.tscn')
- func conn(id):
- print('login client connected, id: ' + str(id))
- export(NodePath) var PostgreSQL
- remote func RegisterPlayer(username, password, password2, email, salt, requester):
- var db = get_parent().get_node('PostgreSQL')
- var message = 'registering...'
- if password != password2:
- message = 'passwords are not equal'
- var email_check = db.Read('login_database','email',"'"+email+"'")
- var username_check = db.Read('login_database','username',"'"+username+"'")
- if email_check != []: message = 'this email is already registered'
- if username_check != []: message = 'someone already has this username'
- print(message)
- rpc_id(api.get_rpc_sender_id(), 'update_status', message)
- if message != 'registering...': return
- for i in 1024: password = (password+salt).sha256_text()
- print('adding new data to the login db...')
- db.Create('login_database',['email','username','password','salt','creation_date'],[email, username, password, salt, str(OS.get_unix_time())])
- remote func salt_request(username):
- var db = get_parent().get_node('PostgreSQL')
- print('salt requested... by ' + str(username))
- var salt = db.Read('login_database','username',"'"+username+"'")
- print(salt)
- if salt == []:
- rpc_id(api.get_rpc_sender_id(), 'update_status', 'user not found')
- rpc_id(api.get_rpc_sender_id(), 'salt_arrived', salt[0][4])
- remote func password_confirmation(username,password, salt):
- var message = 'login...'
- var db = get_parent().get_node('PostgreSQL')
- for i in 1024: password = (password+salt).sha256_text()
- var password_db = db.Read('login_database','username',"'"+username+"'")[0][3]
- 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_rpc_sender_id()
- print(ip)
- 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)
- print(message)
- remote func chang_password(username, password, password_new, salt, username_new, email_new):
- var message = 'updating password...'
- var db = get_parent().get_node('PostgreSQL')
- for i in 1024: password = (password+salt).sha256_text()
- for i in 1024: password_new = (password_new+salt).sha256_text()
- var password_db = db.Read('login_database','username',"'"+username+"'")[0][3]
- 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 not found'
- if password != password_db: message = 'password or username is wrong'
-
- var email_check = db.Read('login_database','email',"'"+email_new+"'")
- var username_check = db.Read('login_database','username',"'"+username_new+"'")
- if email_check != []: message = 'this email is already registered'
- if username_check != []: message = 'someone already has this username'
- print(message)
- rpc_id(api.get_rpc_sender_id(), 'update_status', message)
- if message != 'updating password...': return
- var ip = api.get_rpc_sender_id()
- print(ip)
- db.Update('login_database', 'password', "'"+password_new+"'", 'username', "'"+username+"'")
- db.Update('login_database', 'email', "'"+email_new+"'", 'username', "'"+username+"'")
- db.Update('login_database', 'username', "'"+username_new+"'", 'username', "'"+username+"'")
- # 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)
- var server_list = {
- '127.0.0.1:8081': {
- 'Name':'test',
- 'IP':'207.148.21.135',
- 'Port':8081,
- 'Ping':125,
- 'Gamemode':'deathmatch',
- 'Map':'de_dus2'
- },
- }
- remote func server_list_request():
- rpc_id( api.get_rpc_sender_id(),'_On_Server_list', server_list)
|