galo 1 gadu atpakaļ
vecāks
revīzija
0bbd5b8004
7 mainītis faili ar 51 papildinājumiem un 33 dzēšanām
  1. 22 17
      Auth.gd
  2. 7 0
      Auth.tscn
  3. 2 2
      Database.gd
  4. 5 0
      Login.gd
  5. 3 0
      envarg.gd
  6. 6 4
      loginnetcode.gd
  7. 6 10
      main.tscn

+ 22 - 17
Auth.gd

@@ -4,16 +4,15 @@ var net = NetworkedMultiplayerENet.new()
 var api = MultiplayerAPI.new()
 var api = MultiplayerAPI.new()
 var port = 1909
 var port = 1909
 var maxplayer = 100
 var maxplayer = 100
-export(NodePath) var database
-var cert = load('user://Certificate/x509_Certificate.crt')
-var key = load('user://Certificate/x509_Key.key')
+#var cert = load('user://Certificate/x509_Certificate.crt')
+#var key = load('user://Certificate/x509_Key.key')
 
 
 func _ready():
 func _ready():
 	print('Login listening to port: ' + str(port))
 	print('Login listening to port: ' + str(port))
 	net.create_server(port, maxplayer)
 	net.create_server(port, maxplayer)
-	net.set_dtls_key(key)
-	net.set_dtls_certificate(cert)
-	net.set_dtls_enabled(true)
+#	net.set_dtls_key(key)
+#	net.set_dtls_certificate(cert)
+#	net.set_dtls_enabled(true)
 	self.set_custom_multiplayer(api)
 	self.set_custom_multiplayer(api)
 	custom_multiplayer.set_root_node(self)
 	custom_multiplayer.set_root_node(self)
 	custom_multiplayer.set_network_peer(net)
 	custom_multiplayer.set_network_peer(net)
@@ -30,17 +29,23 @@ var playerphsyics = preload('res://playerphysics.tscn')
 func conn(id):
 func conn(id):
 	print('login client connected, id: ' + str(id))
 	print('login client connected, id: ' + str(id))
 
 
+export(NodePath) var PostgreSQL
+
 remote func RegisterPlayer(username, password, password2, email, salt, requester):
 remote func RegisterPlayer(username, password, password2, email, salt, requester):
 	var message = 'registering...'
 	var message = 'registering...'
-	if password != password2:
-		message = 'passwords are not equal'
-	if username == '':
-		message = 'put in a username'
-	if email.find('@') == -1 or email.find('@') == 0:
-		message = 'email is invalid'
-	if email.find('gmail') == -1 and email.find('outlook') == -1 and email.find('yahoo') == -1:
-		message = 'not a supported email provider'
-	if email.find('.com') == -1:
-		message = 'email is invalid'
+#	if password != password2:
+#		message = 'passwords are not equal'
+#	if username.length() < 3:
+#		message = 'username must be at least three letters'
+#	if email.find('@') == -1 or email.find('@') == 0:
+#		message = 'email is invalid'
+#	if email.find('gmail') == -1 and email.find('outlook') == -1 and email.find('yahoo') == -1:
+#		message = 'not a supported email provider'
+#	if email.find('.com') == -1:
+#		message = 'email is invalid'
+	print(message)
 	rpc_id(api.get_rpc_sender_id(), 'update_status', message)
 	rpc_id(api.get_rpc_sender_id(), 'update_status', message)
-	if message == 'registering...': return
+#	if message == 'registering...': return
+	for i in 1024: password = (password+salt).sha256_text()
+	print('adding new data to the login db...')
+	get_node(PostgreSQL).Create('login_db',['email','username','password','salt','creation_date'],email, username, password, salt, OS.get_unix_time())

+ 7 - 0
Auth.tscn

@@ -0,0 +1,7 @@
+[gd_scene load_steps=2 format=2]
+
+[ext_resource path="res://Auth.gd" type="Script" id=1]
+
+[node name="Auth" type="Node"]
+script = ExtResource( 1 )
+PostgreSQL = NodePath("../PostgreSQL")

+ 2 - 2
Database.gd

@@ -65,13 +65,13 @@ func _authentication_error(error_object: Dictionary) -> void:
 
 
 func _executer() -> void:
 func _executer() -> void:
 	database.execute("""
 	database.execute("""
-	create table login_info( 
+	create table login_db( 
 		id serial primary key,
 		id serial primary key,
 		email varchar(50) unique not null,
 		email varchar(50) unique not null,
 		username varchar(50) unique not null,
 		username varchar(50) unique not null,
 		password varchar(50) not null,
 		password varchar(50) not null,
 		salt varchar(50) not null,
 		salt varchar(50) not null,
-		creation_date date not null
+		creation_date varchar(50) not null
 	);
 	);
 	""")
 	""")
 #	Create('niggers',["crime","executiondate"],["'das rite'","'2017-06-01'"])
 #	Create('niggers',["crime","executiondate"],["'das rite'","'2017-06-01'"])

+ 5 - 0
Login.gd

@@ -2,6 +2,7 @@ extends Node
 
 
 var client = preload('res://Client.tscn')
 var client = preload('res://Client.tscn')
 var server = preload('res://Server.tscn')
 var server = preload('res://Server.tscn')
+var auth = preload('res://Auth.tscn')
 signal login_confimed
 signal login_confimed
 var login_await = true
 var login_await = true
 
 
@@ -14,6 +15,8 @@ func _ready():
 func _on_Button_button_down():
 func _on_Button_button_down():
 	$directconnect.hide()
 	$directconnect.hide()
 	$loginscreen.show()
 	$loginscreen.show()
+	get_parent().get_node("Loginetcode").ip = $directconnect/VBoxContainer/HBoxContainer/LineEdit2.get_text()
+	get_parent().get_node("Loginetcode")._connect()
 	if login_await: yield(self,'login_confimed')
 	if login_await: yield(self,'login_confimed')
 	$loginscreen.hide()
 	$loginscreen.hide()
 	var client2 = client.instance()
 	var client2 = client.instance()
@@ -26,7 +29,9 @@ func _on_Button_button_down():
 
 
 func _on_Button2_button_down():
 func _on_Button2_button_down():
 	var server2 = server.instance()
 	var server2 = server.instance()
+	var auth2 = auth.instance()
 	get_parent().add_child(server2)
 	get_parent().add_child(server2)
+	get_parent().add_child(auth2)
 	pass # Replace with function body.
 	pass # Replace with function body.
 
 
 func _on_CheckButton_toggled(button_pressed):
 func _on_CheckButton_toggled(button_pressed):

+ 3 - 0
envarg.gd

@@ -1,6 +1,7 @@
 extends Node
 extends Node
 
 
 var server = preload('res://Server.tscn')
 var server = preload('res://Server.tscn')
+var auth = preload('res://Auth.tscn')
 
 
 func _ready():
 func _ready():
 	var args = Array(OS.get_cmdline_args())
 	var args = Array(OS.get_cmdline_args())
@@ -10,9 +11,11 @@ func _ready():
 		"-server":
 		"-server":
 			print("player starting server...")
 			print("player starting server...")
 			var server2 = server.instance()
 			var server2 = server.instance()
+			var auth2 = auth.instance()
 			server2.port = int(args[1])
 			server2.port = int(args[1])
 			yield(get_tree().create_timer(1.0),'timeout')
 			yield(get_tree().create_timer(1.0),'timeout')
 			get_parent().add_child(server2)
 			get_parent().add_child(server2)
+			get_parent().add_child(auth2)
 		"-x509":
 		"-x509":
 			print("generating SSl Cert...")
 			print("generating SSl Cert...")
 #			get_tree().change_scene("res://x509Gen/X509Generator.tscn")
 #			get_tree().change_scene("res://x509Gen/X509Generator.tscn")

+ 6 - 4
loginnetcode.gd

@@ -4,13 +4,15 @@ var net = NetworkedMultiplayerENet.new()
 var api = MultiplayerAPI.new()
 var api = MultiplayerAPI.new()
 var port = 1909
 var port = 1909
 var ip = '127.0.0.1'
 var ip = '127.0.0.1'
+var polling = false
 # Called when the node enters the scene tree for the first time.
 # Called when the node enters the scene tree for the first time.
-func _ready():
+func _connect():
+	polling = true
 	print('Login connecting to port: ' + str(port))
 	print('Login connecting to port: ' + str(port))
 	print('at ip: '+ip)
 	print('at ip: '+ip)
 	net.create_client(ip,port)
 	net.create_client(ip,port)
-	net.set_dtls_enabled(true)
-	net.set_dtls_verify_enabled(false)
+#	net.set_dtls_enabled(true)
+#	net.set_dtls_verify_enabled(false)
 	self.set_custom_multiplayer(api)
 	self.set_custom_multiplayer(api)
 	custom_multiplayer.set_root_node(self)
 	custom_multiplayer.set_root_node(self)
 	custom_multiplayer.set_network_peer(net)
 	custom_multiplayer.set_network_peer(net)
@@ -20,7 +22,7 @@ func _ready():
 	pass # Replace with function body.
 	pass # Replace with function body.
 
 
 func _process(_delta):
 func _process(_delta):
-	custom_multiplayer.poll()
+	if polling: custom_multiplayer.poll()
 
 
 func _On_Connection_Failed():
 func _On_Connection_Failed():
 	print("Failed to connect to game server")
 	print("Failed to connect to game server")

+ 6 - 10
main.tscn

@@ -1,10 +1,9 @@
-[gd_scene load_steps=15 format=2]
+[gd_scene load_steps=14 format=2]
 
 
 [ext_resource path="res://Login.gd" type="Script" id=1]
 [ext_resource path="res://Login.gd" type="Script" id=1]
 [ext_resource path="res://envarg.gd" type="Script" id=2]
 [ext_resource path="res://envarg.gd" type="Script" id=2]
 [ext_resource path="res://Database.gd" type="Script" id=3]
 [ext_resource path="res://Database.gd" type="Script" id=3]
 [ext_resource path="res://x509gen.gd" type="Script" id=4]
 [ext_resource path="res://x509gen.gd" type="Script" id=4]
-[ext_resource path="res://Auth.gd" type="Script" id=5]
 [ext_resource path="res://loginnetcode.gd" type="Script" id=6]
 [ext_resource path="res://loginnetcode.gd" type="Script" id=6]
 [ext_resource path="res://art/Untitledcxz.png" type="Texture" id=10]
 [ext_resource path="res://art/Untitledcxz.png" type="Texture" id=10]
 [ext_resource path="res://Textures.gd" type="Script" id=11]
 [ext_resource path="res://Textures.gd" type="Script" id=11]
@@ -48,7 +47,7 @@ render_target_v_flip = true
 [node name="Goblin" type="AnimatedSprite" parent="Textures/Goblin1"]
 [node name="Goblin" type="AnimatedSprite" parent="Textures/Goblin1"]
 modulate = Color( 0, 0.811765, 1, 1 )
 modulate = Color( 0, 0.811765, 1, 1 )
 frames = SubResource( 5 )
 frames = SubResource( 5 )
-frame = 1
+frame = 2
 playing = true
 playing = true
 offset = Vector2( 32, 32 )
 offset = Vector2( 32, 32 )
 
 
@@ -73,7 +72,7 @@ render_target_v_flip = true
 [node name="Goblin" type="AnimatedSprite" parent="Textures/Goblin3"]
 [node name="Goblin" type="AnimatedSprite" parent="Textures/Goblin3"]
 modulate = Color( 1, 0, 0, 1 )
 modulate = Color( 1, 0, 0, 1 )
 frames = SubResource( 5 )
 frames = SubResource( 5 )
-frame = 2
+frame = 1
 speed_scale = 1.2
 speed_scale = 1.2
 playing = true
 playing = true
 offset = Vector2( 32, 32 )
 offset = Vector2( 32, 32 )
@@ -87,12 +86,12 @@ render_target_v_flip = true
 [node name="Goblin" type="AnimatedSprite" parent="Textures/Goblin4"]
 [node name="Goblin" type="AnimatedSprite" parent="Textures/Goblin4"]
 modulate = Color( 1, 0, 0.984314, 1 )
 modulate = Color( 1, 0, 0.984314, 1 )
 frames = SubResource( 5 )
 frames = SubResource( 5 )
-frame = 2
+frame = 3
 speed_scale = 0.9
 speed_scale = 0.9
 playing = true
 playing = true
 offset = Vector2( 32, 32 )
 offset = Vector2( 32, 32 )
 
 
-[node name="Database" type="Node" parent="."]
+[node name="PostgreSQL" type="Node" parent="."]
 script = ExtResource( 3 )
 script = ExtResource( 3 )
 
 
 [node name="Loginetcode" type="Node" parent="."]
 [node name="Loginetcode" type="Node" parent="."]
@@ -102,7 +101,6 @@ script = ExtResource( 6 )
 script = ExtResource( 1 )
 script = ExtResource( 1 )
 
 
 [node name="directconnect" type="Control" parent="LoginUI"]
 [node name="directconnect" type="Control" parent="LoginUI"]
-visible = false
 anchor_right = 1.0
 anchor_right = 1.0
 anchor_bottom = 1.0
 anchor_bottom = 1.0
 margin_left = 180.0
 margin_left = 180.0
@@ -234,6 +232,7 @@ margin_bottom = 20.0
 text = "back"
 text = "back"
 
 
 [node name="register" type="Control" parent="LoginUI"]
 [node name="register" type="Control" parent="LoginUI"]
+visible = false
 anchor_right = 1.0
 anchor_right = 1.0
 anchor_bottom = 1.0
 anchor_bottom = 1.0
 margin_left = 180.0
 margin_left = 180.0
@@ -341,9 +340,6 @@ script = ExtResource( 2 )
 [node name="x509gen" type="Node" parent="."]
 [node name="x509gen" type="Node" parent="."]
 script = ExtResource( 4 )
 script = ExtResource( 4 )
 
 
-[node name="Auth" type="Node" parent="."]
-script = ExtResource( 5 )
-
 [connection signal="button_down" from="LoginUI/directconnect/VBoxContainer/Button" to="LoginUI" method="_on_Button_button_down"]
 [connection signal="button_down" from="LoginUI/directconnect/VBoxContainer/Button" to="LoginUI" method="_on_Button_button_down"]
 [connection signal="button_down" from="LoginUI/directconnect/VBoxContainer/Button2" to="LoginUI" method="_on_Button2_button_down"]
 [connection signal="button_down" from="LoginUI/directconnect/VBoxContainer/Button2" to="LoginUI" method="_on_Button2_button_down"]
 [connection signal="button_down" from="LoginUI/directconnect/VBoxContainer/x509" to="x509gen" method="_on_x509_button_down"]
 [connection signal="button_down" from="LoginUI/directconnect/VBoxContainer/x509" to="x509gen" method="_on_x509_button_down"]