summaryrefslogtreecommitdiff
path: root/godot/ui/MainMenu.gd
diff options
context:
space:
mode:
authorAnson Bridges <bridges.anson@gmail.com>2022-10-19 14:13:47 -0400
committerAnson Bridges <bridges.anson@gmail.com>2022-10-19 14:13:47 -0400
commit5100ec45264ff36a2558757e76198b8b25866992 (patch)
treecd1fd239fe0380028c1d77e456a49ecf186830d6 /godot/ui/MainMenu.gd
parente826b74a104e72ec398aa55bd5dceb13b5a0dae1 (diff)
server work
Diffstat (limited to 'godot/ui/MainMenu.gd')
-rw-r--r--godot/ui/MainMenu.gd32
1 files changed, 30 insertions, 2 deletions
diff --git a/godot/ui/MainMenu.gd b/godot/ui/MainMenu.gd
index 888d401..0b49b36 100644
--- a/godot/ui/MainMenu.gd
+++ b/godot/ui/MainMenu.gd
@@ -1,18 +1,46 @@
extends Node2D
var client : NetworkedMultiplayerENet
+var server
var world
var local_server_tree = null
+var start_server = false
func _ready():
+ #PROCESS ARGS
+ var arguments = {}
+ for argument in OS.get_cmdline_args():
+ if argument.find("=") > -1:
+ var key_value = argument.split("=")
+ arguments[key_value[0].lstrip("--")] = key_value[1]
+ else:
+ # Options without an argument will be present in the dictionary,
+ # with the value set to an empty string.
+ arguments[argument.lstrip("--")] = ""
+ set_process(false)
+ set_physics_process(false)
+ if "server" in arguments:
+ start_server = true
+ print("Server starting in 0.5 seconds.")
+ yield(get_tree().create_timer(0.5), "timeout")
+ print("Server starting...")
+
+ server = preload("res://scenes/Server.tscn").instance()
+ #server.start_server($ServerName.text, $MOTD.text, $PlayerCount.value, $MapPath.text, $IP.text, $Port.value, get_tree(), console, "add_line")
+ server.start_server("Dedicated Server", "Dedicated Multiplayer Server", 3, "res://maps/Main.tscn", "127.0.0.1", 25565, get_tree(), null, "print")
+ get_tree().get_root().set_update_mode(Viewport.UPDATE_DISABLED)
+ Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE)
+
+ call_deferred("queue_free")
+ return
+
+ #if regular game instance:
world = preload("res://scenes/GameBase.tscn").instance()
#get_tree().connect("network_peer_connected", self, "_player_connected")
#get_tree().connect("network_peer_disconnected", self, "_player_disconnected")
var _discard = [get_tree().connect("connected_to_server", self, "_local_connection_successful"),
get_tree().connect("connection_failed", self, "_connected_fail"),
get_tree().connect("server_disconnected", world, "_connection_lost")]
- set_process(false)
- set_physics_process(false)
func to_host_menu():
var host_menu = preload("res://ui/servermenu/ServerUI.tscn").instance()