Browse Source

added change password screen

galo 1 year ago
parent
commit
bdd15cc1c2
5 changed files with 259 additions and 71 deletions
  1. 25 0
      Auth.gd
  2. 20 13
      BrowseColumn.tscn
  3. 26 2
      Login.gd
  4. 4 0
      loginnetcode.gd
  5. 184 56
      main.tscn

+ 25 - 0
Auth.gd

@@ -83,6 +83,31 @@ remote func password_confirmation(username,password, salt):
 	rpc_id(api.get_rpc_sender_id(), '_on_servertoken', token, username)
 	print(message)
 
+remote func chang_password(username, password, password_new, salt):
+	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'
+	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+"'")
+#	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',

+ 20 - 13
BrowseColumn.tscn

@@ -1,6 +1,7 @@
-[gd_scene load_steps=3 format=2]
+[gd_scene load_steps=4 format=2]
 
 [ext_resource path="res://BrowseColumn.gd" type="Script" id=1]
+[ext_resource path="res://font/8bit.tres" type="DynamicFont" id=2]
 
 [sub_resource type="StyleBoxFlat" id=1]
 bg_color = Color( 1, 1, 1, 0.188235 )
@@ -17,50 +18,56 @@ margin_bottom = 20.0
 size_flags_horizontal = 3
 
 [node name="Name" type="Label" parent="HBoxContainer"]
-margin_top = 3.0
+margin_top = 4.0
 margin_right = 103.0
-margin_bottom = 17.0
+margin_bottom = 16.0
 size_flags_horizontal = 3
+custom_fonts/font = ExtResource( 2 )
 text = "Name"
 
 [node name="IP" type="Label" parent="HBoxContainer"]
 margin_left = 107.0
-margin_top = 3.0
+margin_top = 4.0
 margin_right = 210.0
-margin_bottom = 17.0
+margin_bottom = 16.0
 size_flags_horizontal = 3
+custom_fonts/font = ExtResource( 2 )
 text = "IP"
 
 [node name="Port" type="Label" parent="HBoxContainer"]
 margin_left = 214.0
-margin_top = 3.0
+margin_top = 4.0
 margin_right = 318.0
-margin_bottom = 17.0
+margin_bottom = 16.0
 size_flags_horizontal = 3
+custom_fonts/font = ExtResource( 2 )
 text = "Port"
 
 [node name="Gamemode" type="Label" parent="HBoxContainer"]
 margin_left = 322.0
-margin_top = 3.0
+margin_top = 4.0
 margin_right = 425.0
-margin_bottom = 17.0
+margin_bottom = 16.0
 size_flags_horizontal = 3
+custom_fonts/font = ExtResource( 2 )
 text = "Gamemode"
 
 [node name="Map" type="Label" parent="HBoxContainer"]
 margin_left = 429.0
-margin_top = 3.0
+margin_top = 4.0
 margin_right = 532.0
-margin_bottom = 17.0
+margin_bottom = 16.0
 size_flags_horizontal = 3
+custom_fonts/font = ExtResource( 2 )
 text = "Map"
 
 [node name="Ping" type="Label" parent="HBoxContainer"]
 margin_left = 536.0
-margin_top = 3.0
+margin_top = 4.0
 margin_right = 640.0
-margin_bottom = 17.0
+margin_bottom = 16.0
 size_flags_horizontal = 3
+custom_fonts/font = ExtResource( 2 )
 text = "Ping"
 
 [node name="Button" type="Button" parent="."]

+ 26 - 2
Login.gd

@@ -49,13 +49,16 @@ func _on_CheckButton_toggled(button_pressed):
 	pass # Replace with function body.
 
 func _on_register_button_down():
-	$loginscreen.hide()
+	for x in get_children():
+		x.hide()
 	$register.show()
 	pass # Replace with function body.
 
 func _on_login2_button_down():
+	
+	for x in get_children():
+		x.hide()
 	$loginscreen.show()
-	$register.hide()
 	pass # Replace with function body.
 
 
@@ -108,3 +111,24 @@ func choose_a_server(arg):
 	print(port)
 	emit_signal("choose_a_server", arg)
 	pass # Replace with function body.
+
+
+func _on_changepassword_button_down():
+	for x in get_children():
+		x.hide()
+	$changepassword.show()
+	pass # Replace with function body.
+
+
+func _on_chang_password_button_down():
+	var username = $changepassword/VBoxContainer/HBoxContainer/LineEdit2.get_text()
+	get_parent().get_node("Loginetcode").Request_Salt(username)
+	var salt = yield(get_parent().get_node("Loginetcode"),'salt')
+	var password_old = $changepassword/VBoxContainer/HBoxContainer2/LineEdit2.get_text()
+	var password_new = $changepassword/VBoxContainer/HBoxContainer4/LineEdit2.get_text()
+	print(salt)
+	for i in 512: password_old = (password_old+salt).sha256_text()
+	for i in 512: password_new = (password_new+salt).sha256_text()
+	get_parent().get_node("Loginetcode").chang_password(username, password_old, password_new, salt)
+	password_old = null
+	password_new = null

+ 4 - 0
loginnetcode.gd

@@ -50,6 +50,7 @@ remote func salt_arrived(salt):
 remote func update_status(message):
 	get_parent().get_node('LoginUI/register/VBoxContainer/Label').text = message
 	get_parent().get_node('LoginUI/loginscreen/VBoxContainer/Label2').text = message
+	get_parent().get_node('LoginUI/changepassword/VBoxContainer/Label2').text = message
 
 var token_buffer = ''
 var username_server = ''
@@ -67,5 +68,8 @@ func _ask_server_for_server_list():
 	print('asking for a server list refresh')
 	rpc_id(1,"server_list_request")
 
+func chang_password(username, password_old, password_new, salt):
+	rpc_id(1,"chang_password", username, password_old, password_new, salt)
+
 remote func _On_Server_list(arg):
 	get_parent().get_node("BrowserListClient")._on_dict_arrived(arg)

+ 184 - 56
main.tscn

@@ -221,7 +221,6 @@ render_target_v_flip = true
 [node name="Goblin" type="AnimatedSprite" parent="Textures/Goblin4"]
 modulate = Color( 1, 0, 0.984314, 1 )
 frames = SubResource( 5 )
-frame = 3
 speed_scale = 0.9
 playing = true
 offset = Vector2( 32, 32 )
@@ -271,6 +270,7 @@ stretch_mode = 4
 script = ExtResource( 1 )
 
 [node name="directconnect" type="Control" parent="LoginUI"]
+visible = false
 anchor_right = 1.0
 anchor_bottom = 1.0
 margin_left = 180.0
@@ -282,15 +282,14 @@ anchor_bottom = 1.0
 alignment = 1
 
 [node name="HBoxContainer" type="HBoxContainer" parent="LoginUI/directconnect/VBoxContainer"]
-visible = false
-margin_top = 156.0
+margin_top = 136.0
 margin_right = 280.0
-margin_bottom = 180.0
+margin_bottom = 148.0
 alignment = 1
 
 [node name="LineEdit2" type="LineEdit" parent="LoginUI/directconnect/VBoxContainer/HBoxContainer"]
-margin_right = 218.0
-margin_bottom = 24.0
+margin_right = 240.0
+margin_bottom = 12.0
 size_flags_horizontal = 3
 size_flags_vertical = 3
 custom_fonts/font = ExtResource( 20 )
@@ -301,9 +300,9 @@ expand_to_text_length = true
 placeholder_text = "IP Adress"
 
 [node name="LineEdit" type="LineEdit" parent="LoginUI/directconnect/VBoxContainer/HBoxContainer"]
-margin_left = 222.0
+margin_left = 244.0
 margin_right = 280.0
-margin_bottom = 24.0
+margin_bottom = 12.0
 custom_fonts/font = ExtResource( 20 )
 custom_styles/normal = SubResource( 15 )
 text = "8081"
@@ -311,9 +310,9 @@ align = 1
 placeholder_text = "Port"
 
 [node name="Button" type="Button" parent="LoginUI/directconnect/VBoxContainer"]
-margin_top = 174.0
+margin_top = 152.0
 margin_right = 280.0
-margin_bottom = 186.0
+margin_bottom = 164.0
 custom_fonts/font = ExtResource( 20 )
 custom_styles/hover = SubResource( 16 )
 custom_styles/pressed = SubResource( 17 )
@@ -321,8 +320,7 @@ custom_styles/normal = SubResource( 15 )
 text = "connnect"
 
 [node name="Button2" type="Button" parent="LoginUI/directconnect/VBoxContainer"]
-visible = false
-margin_top = 160.0
+margin_top = 168.0
 margin_right = 280.0
 margin_bottom = 180.0
 custom_fonts/font = ExtResource( 20 )
@@ -333,9 +331,9 @@ text = "create server"
 
 [node name="x509" type="Button" parent="LoginUI/directconnect/VBoxContainer"]
 visible = false
-margin_top = 186.0
+margin_top = 198.0
 margin_right = 280.0
-margin_bottom = 206.0
+margin_bottom = 210.0
 custom_fonts/font = ExtResource( 20 )
 custom_styles/hover = SubResource( 16 )
 custom_styles/pressed = SubResource( 17 )
@@ -343,12 +341,10 @@ custom_styles/normal = SubResource( 15 )
 text = "x509 generate"
 
 [node name="CheckButton" type="CheckButton" parent="LoginUI/directconnect/VBoxContainer"]
-visible = false
-margin_top = 172.0
+margin_top = 184.0
 margin_right = 280.0
-margin_bottom = 212.0
+margin_bottom = 224.0
 custom_fonts/font = ExtResource( 20 )
-custom_styles/normal = SubResource( 15 )
 pressed = true
 text = "login"
 
@@ -366,14 +362,14 @@ margin_right = 7.0
 alignment = 1
 
 [node name="HBoxContainer" type="HBoxContainer" parent="LoginUI/loginscreen/VBoxContainer"]
-margin_top = 133.0
+margin_top = 150.0
 margin_right = 287.0
-margin_bottom = 157.0
+margin_bottom = 162.0
 alignment = 1
 
 [node name="LineEdit2" type="LineEdit" parent="LoginUI/loginscreen/VBoxContainer/HBoxContainer"]
 margin_right = 287.0
-margin_bottom = 24.0
+margin_bottom = 12.0
 size_flags_horizontal = 3
 size_flags_vertical = 3
 custom_fonts/font = ExtResource( 20 )
@@ -383,14 +379,14 @@ expand_to_text_length = true
 placeholder_text = "username"
 
 [node name="HBoxContainer2" type="HBoxContainer" parent="LoginUI/loginscreen/VBoxContainer"]
-margin_top = 161.0
+margin_top = 166.0
 margin_right = 287.0
-margin_bottom = 185.0
+margin_bottom = 178.0
 alignment = 1
 
 [node name="LineEdit2" type="LineEdit" parent="LoginUI/loginscreen/VBoxContainer/HBoxContainer2"]
 margin_right = 287.0
-margin_bottom = 24.0
+margin_bottom = 12.0
 size_flags_horizontal = 3
 size_flags_vertical = 3
 custom_fonts/font = ExtResource( 20 )
@@ -400,15 +396,15 @@ expand_to_text_length = true
 placeholder_text = "password"
 
 [node name="HBoxContainer3" type="HBoxContainer" parent="LoginUI/loginscreen/VBoxContainer"]
-margin_top = 189.0
+margin_top = 182.0
 margin_right = 287.0
-margin_bottom = 209.0
+margin_bottom = 194.0
 alignment = 1
 
 [node name="login" type="Button" parent="LoginUI/loginscreen/VBoxContainer/HBoxContainer3"]
-margin_left = 88.0
-margin_right = 131.0
-margin_bottom = 20.0
+margin_left = 40.0
+margin_right = 71.0
+margin_bottom = 12.0
 custom_fonts/font = ExtResource( 20 )
 custom_styles/hover = SubResource( 16 )
 custom_styles/pressed = SubResource( 17 )
@@ -416,15 +412,25 @@ custom_styles/normal = SubResource( 15 )
 text = "login"
 
 [node name="register" type="Button" parent="LoginUI/loginscreen/VBoxContainer/HBoxContainer3"]
-margin_left = 135.0
-margin_right = 199.0
-margin_bottom = 20.0
+margin_left = 75.0
+margin_right = 130.0
+margin_bottom = 12.0
 custom_fonts/font = ExtResource( 20 )
 custom_styles/hover = SubResource( 16 )
 custom_styles/pressed = SubResource( 17 )
 custom_styles/normal = SubResource( 15 )
 text = "Register"
 
+[node name="changepassword" type="Button" parent="LoginUI/loginscreen/VBoxContainer/HBoxContainer3"]
+margin_left = 134.0
+margin_right = 246.0
+margin_bottom = 12.0
+custom_fonts/font = ExtResource( 20 )
+custom_styles/hover = SubResource( 16 )
+custom_styles/pressed = SubResource( 17 )
+custom_styles/normal = SubResource( 15 )
+text = "Change Password"
+
 [node name="recover" type="Button" parent="LoginUI/loginscreen/VBoxContainer/HBoxContainer3"]
 visible = false
 margin_left = 137.0
@@ -448,9 +454,128 @@ custom_styles/normal = SubResource( 15 )
 text = "back"
 
 [node name="Label2" type="Label" parent="LoginUI/loginscreen/VBoxContainer"]
-margin_top = 213.0
+margin_top = 198.0
 margin_right = 287.0
-margin_bottom = 227.0
+margin_bottom = 210.0
+custom_fonts/font = ExtResource( 20 )
+custom_styles/normal = SubResource( 15 )
+text = "status"
+
+[node name="changepassword" type="Control" parent="LoginUI"]
+anchor_right = 1.0
+anchor_bottom = 1.0
+margin_left = 180.0
+margin_right = -180.0
+
+[node name="VBoxContainer" type="VBoxContainer" parent="LoginUI/changepassword"]
+anchor_right = 1.0
+anchor_bottom = 1.0
+margin_right = 7.0
+alignment = 1
+
+[node name="HBoxContainer" type="HBoxContainer" parent="LoginUI/changepassword/VBoxContainer"]
+margin_top = 142.0
+margin_right = 287.0
+margin_bottom = 154.0
+alignment = 1
+
+[node name="LineEdit2" type="LineEdit" parent="LoginUI/changepassword/VBoxContainer/HBoxContainer"]
+margin_right = 287.0
+margin_bottom = 12.0
+size_flags_horizontal = 3
+size_flags_vertical = 3
+custom_fonts/font = ExtResource( 20 )
+custom_styles/normal = SubResource( 15 )
+align = 1
+expand_to_text_length = true
+placeholder_text = "username"
+
+[node name="HBoxContainer2" type="HBoxContainer" parent="LoginUI/changepassword/VBoxContainer"]
+margin_top = 158.0
+margin_right = 287.0
+margin_bottom = 170.0
+alignment = 1
+
+[node name="LineEdit2" type="LineEdit" parent="LoginUI/changepassword/VBoxContainer/HBoxContainer2"]
+margin_right = 287.0
+margin_bottom = 12.0
+size_flags_horizontal = 3
+size_flags_vertical = 3
+custom_fonts/font = ExtResource( 20 )
+custom_styles/normal = SubResource( 15 )
+align = 1
+expand_to_text_length = true
+placeholder_text = "old password"
+
+[node name="HBoxContainer4" type="HBoxContainer" parent="LoginUI/changepassword/VBoxContainer"]
+margin_top = 174.0
+margin_right = 287.0
+margin_bottom = 186.0
+alignment = 1
+
+[node name="LineEdit2" type="LineEdit" parent="LoginUI/changepassword/VBoxContainer/HBoxContainer4"]
+margin_right = 287.0
+margin_bottom = 12.0
+size_flags_horizontal = 3
+size_flags_vertical = 3
+custom_fonts/font = ExtResource( 20 )
+custom_styles/normal = SubResource( 15 )
+align = 1
+expand_to_text_length = true
+placeholder_text = "new password"
+
+[node name="HBoxContainer3" type="HBoxContainer" parent="LoginUI/changepassword/VBoxContainer"]
+margin_top = 190.0
+margin_right = 287.0
+margin_bottom = 202.0
+alignment = 1
+
+[node name="login2" type="Button" parent="LoginUI/changepassword/VBoxContainer/HBoxContainer3"]
+margin_left = 70.0
+margin_right = 102.0
+margin_bottom = 12.0
+custom_fonts/font = ExtResource( 20 )
+custom_styles/hover = SubResource( 16 )
+custom_styles/pressed = SubResource( 17 )
+custom_styles/normal = SubResource( 15 )
+text = "back"
+
+[node name="chang password" type="Button" parent="LoginUI/changepassword/VBoxContainer/HBoxContainer3"]
+margin_left = 106.0
+margin_right = 217.0
+margin_bottom = 12.0
+custom_fonts/font = ExtResource( 20 )
+custom_styles/hover = SubResource( 16 )
+custom_styles/pressed = SubResource( 17 )
+custom_styles/normal = SubResource( 15 )
+text = "change password"
+
+[node name="recover" type="Button" parent="LoginUI/changepassword/VBoxContainer/HBoxContainer3"]
+visible = false
+margin_left = 137.0
+margin_right = 264.0
+margin_bottom = 20.0
+custom_fonts/font = ExtResource( 20 )
+custom_styles/hover = SubResource( 16 )
+custom_styles/pressed = SubResource( 17 )
+custom_styles/normal = SubResource( 15 )
+text = "Recover Password"
+
+[node name="back" type="Button" parent="LoginUI/changepassword/VBoxContainer/HBoxContainer3"]
+visible = false
+margin_left = 246.0
+margin_right = 287.0
+margin_bottom = 20.0
+custom_fonts/font = ExtResource( 20 )
+custom_styles/hover = SubResource( 16 )
+custom_styles/pressed = SubResource( 17 )
+custom_styles/normal = SubResource( 15 )
+text = "back"
+
+[node name="Label2" type="Label" parent="LoginUI/changepassword/VBoxContainer"]
+margin_top = 206.0
+margin_right = 287.0
+margin_bottom = 218.0
 custom_fonts/font = ExtResource( 20 )
 custom_styles/normal = SubResource( 15 )
 text = "status"
@@ -468,14 +593,14 @@ anchor_bottom = 1.0
 alignment = 1
 
 [node name="HBoxContainer1" type="HBoxContainer" parent="LoginUI/register/VBoxContainer"]
-margin_top = 105.0
+margin_top = 134.0
 margin_right = 280.0
-margin_bottom = 129.0
+margin_bottom = 146.0
 alignment = 1
 
 [node name="LineEdit2" type="LineEdit" parent="LoginUI/register/VBoxContainer/HBoxContainer1"]
 margin_right = 280.0
-margin_bottom = 24.0
+margin_bottom = 12.0
 size_flags_horizontal = 3
 size_flags_vertical = 3
 custom_fonts/font = ExtResource( 20 )
@@ -485,14 +610,14 @@ expand_to_text_length = true
 placeholder_text = "username"
 
 [node name="HBoxContainer2" type="HBoxContainer" parent="LoginUI/register/VBoxContainer"]
-margin_top = 133.0
+margin_top = 150.0
 margin_right = 280.0
-margin_bottom = 157.0
+margin_bottom = 162.0
 alignment = 1
 
 [node name="LineEdit2" type="LineEdit" parent="LoginUI/register/VBoxContainer/HBoxContainer2"]
 margin_right = 280.0
-margin_bottom = 24.0
+margin_bottom = 12.0
 size_flags_horizontal = 3
 size_flags_vertical = 3
 custom_fonts/font = ExtResource( 20 )
@@ -502,14 +627,14 @@ expand_to_text_length = true
 placeholder_text = "password"
 
 [node name="HBoxContainer3" type="HBoxContainer" parent="LoginUI/register/VBoxContainer"]
-margin_top = 161.0
+margin_top = 166.0
 margin_right = 280.0
-margin_bottom = 185.0
+margin_bottom = 178.0
 alignment = 1
 
 [node name="LineEdit2" type="LineEdit" parent="LoginUI/register/VBoxContainer/HBoxContainer3"]
 margin_right = 280.0
-margin_bottom = 24.0
+margin_bottom = 12.0
 size_flags_horizontal = 3
 size_flags_vertical = 3
 custom_fonts/font = ExtResource( 20 )
@@ -519,14 +644,14 @@ expand_to_text_length = true
 placeholder_text = "comfirm password"
 
 [node name="HBoxContainer4" type="HBoxContainer" parent="LoginUI/register/VBoxContainer"]
-margin_top = 189.0
+margin_top = 182.0
 margin_right = 280.0
-margin_bottom = 213.0
+margin_bottom = 194.0
 alignment = 1
 
 [node name="LineEdit2" type="LineEdit" parent="LoginUI/register/VBoxContainer/HBoxContainer4"]
 margin_right = 280.0
-margin_bottom = 24.0
+margin_bottom = 12.0
 size_flags_horizontal = 3
 size_flags_vertical = 3
 custom_fonts/font = ExtResource( 20 )
@@ -536,15 +661,15 @@ expand_to_text_length = true
 placeholder_text = "email"
 
 [node name="HBoxContainer6" type="HBoxContainer" parent="LoginUI/register/VBoxContainer"]
-margin_top = 217.0
+margin_top = 198.0
 margin_right = 280.0
-margin_bottom = 237.0
+margin_bottom = 210.0
 alignment = 1
 
 [node name="login2" type="Button" parent="LoginUI/register/VBoxContainer/HBoxContainer6"]
-margin_left = 88.0
-margin_right = 130.0
-margin_bottom = 20.0
+margin_left = 101.0
+margin_right = 133.0
+margin_bottom = 12.0
 custom_fonts/font = ExtResource( 20 )
 custom_styles/hover = SubResource( 16 )
 custom_styles/pressed = SubResource( 17 )
@@ -552,9 +677,9 @@ custom_styles/normal = SubResource( 15 )
 text = "Back"
 
 [node name="Register2" type="Button" parent="LoginUI/register/VBoxContainer/HBoxContainer6"]
-margin_left = 134.0
-margin_right = 191.0
-margin_bottom = 20.0
+margin_left = 137.0
+margin_right = 179.0
+margin_bottom = 12.0
 custom_fonts/font = ExtResource( 20 )
 custom_styles/hover = SubResource( 16 )
 custom_styles/pressed = SubResource( 17 )
@@ -562,9 +687,9 @@ custom_styles/normal = SubResource( 15 )
 text = "Submit"
 
 [node name="Label" type="Label" parent="LoginUI/register/VBoxContainer"]
-margin_top = 241.0
+margin_top = 214.0
 margin_right = 280.0
-margin_bottom = 255.0
+margin_bottom = 226.0
 custom_fonts/font = ExtResource( 20 )
 custom_styles/normal = SubResource( 15 )
 text = "status"
@@ -764,6 +889,9 @@ tile_data = PoolIntArray( -262155, 0, 5, -196619, 0, 65539, -131083, 0, 65539, -
 [connection signal="toggled" from="LoginUI/directconnect/VBoxContainer/CheckButton" to="LoginUI" method="_on_CheckButton_toggled"]
 [connection signal="button_down" from="LoginUI/loginscreen/VBoxContainer/HBoxContainer3/login" to="LoginUI" method="_on_login_button_down"]
 [connection signal="button_down" from="LoginUI/loginscreen/VBoxContainer/HBoxContainer3/register" to="LoginUI" method="_on_register_button_down"]
+[connection signal="button_down" from="LoginUI/loginscreen/VBoxContainer/HBoxContainer3/changepassword" to="LoginUI" method="_on_changepassword_button_down"]
+[connection signal="button_down" from="LoginUI/changepassword/VBoxContainer/HBoxContainer3/login2" to="LoginUI" method="_on_login2_button_down"]
+[connection signal="button_down" from="LoginUI/changepassword/VBoxContainer/HBoxContainer3/chang password" to="LoginUI" method="_on_chang_password_button_down"]
 [connection signal="button_down" from="LoginUI/register/VBoxContainer/HBoxContainer6/login2" to="LoginUI" method="_on_login2_button_down"]
 [connection signal="button_down" from="LoginUI/register/VBoxContainer/HBoxContainer6/Register2" to="LoginUI" method="_on_Register2_button_down"]
 [connection signal="click" from="BrowserListClient" to="LoginUI" method="choose_a_server"]