Browse Source

starting the code

galo 2 years ago
parent
commit
629a179930
5 changed files with 114 additions and 0 deletions
  1. 30 0
      Client.gd
  2. 29 0
      Database.gd
  3. 32 0
      Server.gd
  4. 2 0
      default_env.tres
  5. 21 0
      main.tscn

+ 30 - 0
Client.gd

@@ -0,0 +1,30 @@
+extends Node
+
+var net = NetworkedMultiplayerENet.new()
+var api = MultiplayerAPI.new()
+var port = 8081
+var ip = '127.0.0.1'
+# Called when the node enters the scene tree for the first time.
+func _ready():
+	print('connecting to port: ' + str(port))
+	net.create_client(ip,port)
+	
+	self.set_custom_multiplayer(api)
+	custom_multiplayer.set_root_node(self)
+	custom_multiplayer.set_network_peer(net)
+	
+	net.connect("connection_failed", self, "_On_Connection_Failed")
+	net.connect("connection_succeeded", self, "_On_Connection_Succeeded")
+	pass # Replace with function body.
+
+func _process(_delta):
+	custom_multiplayer.poll()
+
+remote func ping():
+	print('messaged received from server')
+
+func _On_Connection_Failed():
+	print("Failed to connect to game server")
+
+func _On_Connection_Succeeded():
+	print("Succesfully connected to game server")

+ 29 - 0
Database.gd

@@ -0,0 +1,29 @@
+extends Node
+
+# CRUD
+
+var crud = {}
+
+func Create(key,value):
+	if crud.has(key):
+		print('key already exist')
+		return
+	crud[key] = value
+
+func Read(key):
+	if not crud.has(key):
+		print('key doesent exist')
+		return
+	return crud[key]
+
+func Update(key,value):
+	if not crud.has(key):
+		print('key doesent exist')
+		return
+	crud[key] = value
+
+func delete(key):
+	if not crud.has(key):
+		print('key doesent exist')
+		return
+	crud.erase(key)

+ 32 - 0
Server.gd

@@ -0,0 +1,32 @@
+extends Node
+
+var net = NetworkedMultiplayerENet.new()
+var api = MultiplayerAPI.new()
+var port = 8081
+var maxplayer = 4
+export(NodePath) var database
+
+func _ready():
+	print('listening to port: ' + str(port))
+	net.create_server(port, maxplayer)
+	
+	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 _process(_delta):
+	custom_multiplayer.poll()
+
+func conn(arg):
+	print('client connected, id: ' + str(arg))
+	yield(get_tree(),"physics_frame")
+	rpc_id(arg,'ping')
+	print('clients connected: ' + str(custom_multiplayer.get_network_connected_peers().size()))
+
+func disc(arg):
+	print('client disconnected, id: ' + str(arg))
+

+ 2 - 0
default_env.tres

@@ -1,5 +1,7 @@
 [gd_resource type="Environment" load_steps=2 format=2]
+
 [sub_resource type="ProceduralSky" id=1]
+
 [resource]
 background_mode = 2
 background_sky = SubResource( 1 )

+ 21 - 0
main.tscn

@@ -0,0 +1,21 @@
+[gd_scene load_steps=4 format=2]
+
+[ext_resource path="res://Client.gd" type="Script" id=1]
+[ext_resource path="res://Server.gd" type="Script" id=2]
+[ext_resource path="res://Database.gd" type="Script" id=3]
+
+[node name="Node" type="Node"]
+
+[node name="Server" type="Node" parent="."]
+script = ExtResource( 2 )
+database = NodePath("../Database")
+
+[node name="Client" type="Node" parent="."]
+script = ExtResource( 1 )
+
+[node name="Database" type="Node" parent="."]
+script = ExtResource( 3 )
+
+[node name="Login" type="Node" parent="."]
+
+[node name="Authority" type="Node" parent="."]