Example #1
0
        public bool StartServer(int Port, int MaxPlayers = DEFAULT_MAX_PLAYERS)
        {
            NetworkedMultiplayerENet peer = new NetworkedMultiplayerENet();

            peer.Connect("peer_connected", this, nameof(ServerOnPeerConnected));
            peer.Connect("peer_disconnected", this, nameof(ServerOnPeerDisconnected));
            ConfigurePeer(peer);

            Error error   = peer.CreateServer(Port, MaxPlayers);
            bool  Success = error == Error.Ok;

            MDLog.CLog(Success, LOG_CAT, MDLogLevel.Info,
                       $"Starting server on port {Port} with {MaxPlayers} max players.");
            MDLog.CLog(!Success, LOG_CAT, MDLogLevel.Error, $"Failed to start server on port {Port}");

            if (Success)
            {
                UPNPPort = Port;
                SetNetworkPeer(peer);
                ServerOnStarted();
            }
            else
            {
                MDLog.Error(LOG_CAT, "Failed to start server");
                OnSessionFailedEvent();
            }

            return(Success);
        }
Example #2
0
    private void onConnectPressed()
    {
        players = new List <Node>();
        peer    = new NetworkedMultiplayerENet();
        int    port    = System.Convert.ToInt32(panel.GetNode <TextEdit>("Port").Text);
        String address = panel.GetNode <TextEdit>("Address").Text;

        if (panel.GetNode <OptionButton>("OptionButton").GetSelectedId() == 0)
        {
            peer.CreateServer(port, maxPlayers);
            GetTree().SetNetworkPeer(peer);

            panel.changeToRed();
            players.Add(myself);
            myself = playerScene.Instance();
            myself.GetNode <RigidBody2D>("Ridiculous").Position = new Vector2(random.Next(20, 380), random.Next(100, 335));
            myself.SetNetworkMaster(GetTree().GetNetworkUniqueId());
            myself.SetName(GetTree().GetNetworkUniqueId().ToString());
            GetNode <Panel>("Panel").AddChild(myself);
        }
        else
        {
            peer.CreateClient(address, port);
            GetTree().SetNetworkPeer(peer);
            panel.changeToBlue();

            myself = playerScene.Instance();
            myself.GetNode <RigidBody2D>("Ridiculous").Position = new Vector2(random.Next(20, 380), random.Next(100, 335));
            myself.SetNetworkMaster(GetTree().GetNetworkUniqueId());
            myself.SetName(GetTree().GetNetworkUniqueId().ToString());
            GetNode <Panel>("Panel").AddChild(myself);
        }
    }
Example #3
0
    public static void Host()
    {
        if (Self.GetTree().NetworkPeer != null)
        {
            if (Self.GetTree().IsNetworkServer())
            {
                Console.ThrowPrint("Cannot host when already hosting");
            }
            else
            {
                Console.ThrowPrint("Cannot host when connected to a server");
            }
            return;
        }

        PeerList.Clear();
        World.Start();

        NetworkedMultiplayerENet Peer = new NetworkedMultiplayerENet();

        Peer.CreateServer(Port, Game.MaxPlayers);
        Self.GetTree().SetNetworkPeer(Peer);
        Self.GetTree().SetMeta("network_peer", Peer);

        Console.Log($"Started hosting on port '{Port}'");

        PeerList.Add(Self.GetTree().GetNetworkUniqueId());
        Nicknames[ServerId] = Game.Nickname;
        Game.SpawnPlayer(Self.GetTree().GetNetworkUniqueId(), true);

        World.DefaultPlatforms();
    }
Example #4
0
    public static void Host()
    {
        if (Self.GetTree().NetworkPeer != null)
        {
            if (Self.GetTree().IsNetworkServer())
            {
                Console.Print("Error: Cannot host when already hosting");
            }
            else
            {
                Console.Print("Error: Cannot host when connected to a server");
            }
            return;
        }

        PeerList.Clear();
        Game.StartWorld(AsServer: true);

        NetworkedMultiplayerENet Peer = new NetworkedMultiplayerENet();

        Peer.CreateServer(Port, Game.MaxPlayers);
        Self.GetTree().SetNetworkPeer(Peer);
        Self.GetTree().SetMeta("network_peer", Peer);

        Console.Log("Started hosting on port '" + Port.ToString() + "'");

        PeerList.Add(Self.GetTree().GetNetworkUniqueId());
        Game.SpawnPlayer(Self.GetTree().GetNetworkUniqueId(), true);
    }
    //ONCLICK START CLIENT OR SERVER:
    public void onClickHost()
    {
        //IF NEED WORLD, LOAD HERE (BEFORE START SERVER)
        //LoadWorld();

        //Get view data
        if (!int.TryParse(linePort.GetText(), out port))
        {
            port = 8920;
        }

        if (!int.TryParse(lineMax.GetText(), out maxPlayers))
        {
            maxPlayers = 4;//4 when parse fail
        }

        //CREATE SERVER
        var   peer = new NetworkedMultiplayerENet();
        Error err  = peer.CreateServer(port, maxPlayers);

        if (err != Error.Ok)
        {
            GD.Print("YOU CAN NOT CREATE SERVER:" + err.ToString());
            return;
        }
        GetTree().SetNetworkPeer(peer);

        //set View
        panelChat.SelfModulate = new Color(1f, 0, 0); //red style
        panelStart.SetVisible(false);                 //server cant use chat

        chat.BbcodeText = ("[color=red]SERVER READY![/color]");
    }
Example #6
0
    public override void _Ready()
    {
        GetTree().Connect("network_peer_connected", this, "NetworkPeerConnected");
        GetTree().Connect("connected_to_server", this, "ConnectedServer");

        NetworkedMultiplayerENet peer = new NetworkedMultiplayerENet();

        _players = new Dictionary <int, Player>();

        Error err = peer.CreateServer(port, 2);

        GD.Print(err);

        if (err != 0)
        {
            GD.Print("Cliente");
            Error rr = peer.CreateClient(host, port);
            GetTree().SetNetworkPeer(peer);
            return;
        }

        GetTree().SetNetworkPeer(peer);

        int    unique = GetTree().GetNetworkUniqueId();
        string name   = GetTree().GetNetworkUniqueId().ToString();

        SpawnPlayer(unique, name);
    }
Example #7
0
    public void createServer(String serverName, int port, int max_players)
    {
        // Clear out any previous states remain
        closeServer();

        hostType               = "Server";
        serverinfo.name        = serverName;
        serverinfo.used_port   = port;
        serverinfo.max_players = max_players;

        // Initialize the networking system
        NetworkedMultiplayerENet peer = new NetworkedMultiplayerENet();

        peer.CompressionMode = NetworkedMultiplayerENet.CompressionModeEnum.Zstd;

        // Try to create the server
        if (peer.CreateServer(serverinfo.used_port, serverinfo.max_players) != Error.Ok)
        {
            // Tell the server crate fail
            EmitSignal(nameof(ServerCreateFailSignal), "SERVER CREATE FAIL AT " + serverName + ":" + port + ". PLEASE CHECK DETAIL AND TRY AGAIN.");
            return;
        }

        //  # Assign it into the tree
        GetTree().NetworkPeer = peer;
        // Tell the server has been created successfully
        EmitSignal(nameof(ServerCreatedSignal));

        registerPlayer(gamestateNetworkPlayer.ToString());
    }
Example #8
0
 public void InitServer(Godot.Object obj, string playerJoin, string playerLeave)
 {
     peer = new Godot.NetworkedMultiplayerENet();
     this.GetTree().Connect("network_peer_connected", obj, playerJoin);
     this.GetTree().Connect("network_peer_disconnected", obj, playerLeave);
     peer.CreateServer(DefaultPort, MaxPlayers);
     this.GetTree().SetNetworkPeer(peer);
     selfPeerId = this.GetTree().GetNetworkUniqueId();
 }
Example #9
0
        private void StartServer()
        {
            _network.CreateServer(_port, _max_players);
            GetTree().NetworkPeer = _network;
            GD.Print("Server started");

            _network.Connect("peer_connected", this, "_OnPeerConnected");
            _network.Connect("peer_disconnected", this, "_OnPeerDisconnected");
        }
Example #10
0
    private void CreateServer()
    {
        NetworkedMultiplayerENet peer = new NetworkedMultiplayerENet();

        peer.CompressionMode = NetworkedMultiplayerENet.CompressionModeEnum.Zlib;
        peer.CreateServer(server_port, max_players);
        GetTree().NetworkPeer = peer;
        GD.Print("server listening on 3074");
    }
Example #11
0
        public void Host()
        {
            Server = new NetworkedMultiplayerENet();
            var err = Server.CreateServer(Port);

            if (err != Error.Ok)
            {
                GD.PushWarning(err.ToString());
            }
            CustomMultiplayer.NetworkPeer = Server;
        }
Example #12
0
    public void hostGame(String newName)
    {
        // Assign new name.
        playerName = newName;

        // Create server
        NetworkedMultiplayerENet host = new NetworkedMultiplayerENet();

        host.CreateServer(PORT, MAX_PLAYERS);
        GetTree().NetworkPeer = host;
    }
Example #13
0
    public void Host()
    {
        var Peer = new NetworkedMultiplayerENet();

        Peer.CreateServer(Port, MaxPlayers);
        GetTree().NetworkPeer = Peer;

        RuntimeRoot.AddChild(WorldScene.Instance());

        AdminPanel = (AdminControls)AdminControlsScene.Instance();
        RuntimeRoot.AddChild(AdminPanel);
    }
Example #14
0
    public void Host(int port)
    {
        var Peer = new NetworkedMultiplayerENet();

        Peer.CreateServer(port, maxPlayers);

        GD.Print($"Started hosting on port '{port}'");
        GetTree().NetworkPeer = Peer;
        _id = GetTree().GetNetworkUniqueId();
        _world.StartWorld();

        AddPlayer(_id, true);
        _active = true;
    }
Example #15
0
        /// <summary>
        /// Creates a server without all that peer to peer nonsense.
        /// Will silently replace any pre-existing peer without performing any shutdown/cleanup logic.
        /// </summary>
        /// <returns>
        /// The return value from CreateServer().
        /// `Error.Ok` signifies that the server was created and bounded.
        /// </returns>
        public static Error StartServer(this SceneTree tree, int port, int maxConnections)
        {
            var peer = new NetworkedMultiplayerENet {
                ServerRelay = false
            };
            var err = peer.CreateServer(port, maxConnections);

            if (err != Error.Ok)
            {
                return(err);
            }
            tree.NetworkPeer = peer;
            return(Error.Ok);
        }
Example #16
0
    public void HostGame()
    {
        PlayerName = ((TextEdit)GetNode("MarginContainer/VBoxContainer/Name")).Text;

        var peer = new NetworkedMultiplayerENet();

        peer.CreateServer(default_port, 32);
        GetTree().NetworkPeer = peer;

        GD.Print("You are now hosting.");

        SetInGame();
        StartGame();
    }
Example #17
0
    // Host the server
    public void HostGame(string name)
    {
        ServerMessageManager smm = new ServerMessageManager();
        ClientMessageManager cmm = new ClientMessageManager();

        // Store own player name
        players[1]   = self_data;
        self_data[0] = name;

        // Initializing the network as client
        var host = new NetworkedMultiplayerENet();

        host.CreateServer(SERVER_PORT, MAX_PLAYERS); // Max N players can be connected
        GetTree().NetworkPeer = host;
    }
Example #18
0
    public static void Host()
    {
        PeerList.Clear();
        Game.StartWorld();

        NetworkedMultiplayerENet Peer = new NetworkedMultiplayerENet();

        Peer.CreateServer(Port, Game.MaxPlayers);
        Self.GetTree().SetNetworkPeer(Peer);
        Self.GetTree().SetMeta("network_peer", Peer);

        Console.Log("Started hosting on port '" + Port.ToString() + "'");

        PeerList.Add(Self.GetTree().GetNetworkUniqueId());
        Game.SpawnPlayer(Self.GetTree().GetNetworkUniqueId(), true);
    }
Example #19
0
    private void OnHostPressed()
    {
        _peer = new NetworkedMultiplayerENet();
        _peer.CompressionMode = NetworkedMultiplayerENet.CompressionModeEnum.RangeCoder;
        Error err = _peer.CreateServer(DefaultPort, MaxNumberOfPeers);

        if (err != Error.Ok)
        {
            // Is another server running?
            SetStatus("Can't host, address in use.", false);
            return;
        }

        GetTree().NetworkPeer = _peer;
        _hostButton.Disabled  = true;
        _joinButton.Disabled  = true;
        SetStatus("Waiting for player...", true);
    }
Example #20
0
    public bool HostGame(string name)
    {
        if (name.Empty())
        {
            EmitSignal(nameof(ErrorSignal), "Please enter a name!");
            return(false);
        }
        PlayerName = name;

        var peer = new NetworkedMultiplayerENet();

        peer.CreateServer(default_port, max_players);
        GetTree().NetworkPeer = peer;

        EmitSignal(nameof(SuccessSignal), "You are now hosting.");

        return(true);
    }
Example #21
0
        public override void _Ready()
        {
            LOG = new Logger(this.GetType().Name);
            ConnectedClients = new System.Collections.Generic.Dictionary<int, ClientRepresentation>();
            PackedScene dispatcherPackedScene = GD.Load("res://src/network/PacketDispatcher.tscn") as PackedScene;
            dispatcher = (PacketDispatcher)dispatcherPackedScene.Instance();
            AddChild(dispatcher);

            RegisterServerCallbacks();
            port =(int)ProjectSettings.GetSetting("feudal_mp/server/port");
            ENetInstance = new NetworkedMultiplayerENet();
            ENetInstance.CreateServer(port);
            GetTree().NetworkPeer = ENetInstance;
            LOG.Info("Server started on port " + port);

            ENetInstance.Connect("peer_connected", this, "receive_peer_connected");
            ENetInstance.Connect("peer_disconnected", this, "receive_peer_disconnected");
        }
Example #22
0
    private void HostGame()
    {
        // initialize network game
        NetworkedMultiplayerENet host = new NetworkedMultiplayerENet();
        var resp = host.CreateServer(PORT_NUM, 2);

        if (resp != 0)
        {
            GD.Print("ruh roh");
            return;
        }

        // update UI
        HideAll();
        label.Text = "Waiting for clients";

        GetTree().SetNetworkPeer(host);
    }
Example #23
0
    private void _On_Host_Pressed()
    {
        GD.Print("on host pressed");
        NetworkedMultiplayerENet host = new NetworkedMultiplayerENet();

        host.SetCompressionMode(NetworkedMultiplayerENet.CompressionModeEnum.RangeCoder);
        // max: 1 peer, since it's a 2 player game for now
        Error err = host.CreateServer(DEFAULT_PORT, 1);

        if (err != Error.Ok)
        {
            _Set_Status("Can't host, address in use.", false);
            return;
        }

        GetTree().SetNetworkPeer(host);
        _joinBtn.SetDisabled(true);
        _hostBtn.SetDisabled(true);
        _Set_Status("Waiting for player..", true);
    }
Example #24
0
    private void OnHostPressed()
    {
        NetworkedMultiplayerENet Host = new NetworkedMultiplayerENet();

        Host.CompressionMode = NetworkedMultiplayerENet.CompressionModeEnum.RangeCoder;

        Error Err = Host.CreateServer(Port, 1);

        switch (Err)
        {
        case Error.AlreadyInUse:
            SetStatus("Can't host, address already in use", false);
            return;
        }

        GetTree().NetworkPeer = Host;
        HostButton.Disabled   = true;
        JoinButton.Disabled   = true;
        SetStatus("Waiting for player...", true);
    }
Example #25
0
        public void StartServer(int _max_players = 32)
        {
            max_players = _max_players;

            peer = new NetworkedMultiplayerENet();
            peer.CreateServer(port, max_players);
            tree.NetworkPeer = peer;
            if (tree.NetworkPeer != null)
            {
                GD.Print("Successfully started server!");
            }
            else
            {
                throw new Exception("Failed to start server!");
            }
            main = this;

            //Intialize signal connects
            tree.Connect("network_peer_connected", this, "NetworkPeerConnected");
            tree.Connect("network_peer_disconnected", this, "NetworkPeerDisconnected");
        }
Example #26
0
    public static void Host()
    {
        if (Self.GetTree().NetworkPeer != null)
        {
            Console.ThrowPrint(Self.GetTree().IsNetworkServer()
                                ? "Cannot host when already hosting"
                                : "Cannot host when connected to a server");
            return;
        }

        Players.Clear();
        World.Start();

        var Peer = new NetworkedMultiplayerENet();

        Peer.CreateServer(Port, Game.MaxPlayers);
        Self.GetTree().NetworkPeer = Peer;

        Console.Log($"Started hosting on port '{Port}'");

        World.DefaultPlatforms();
    }
        public override void _Ready()
        {
            var server = new NetworkedMultiplayerENet();

            GetTree().OnNetworkPeerConnected((id) =>
            {
                GD.Print("Peer connected");
                this.FireLanEvent(LanBoolEvent, true);
                this.FireLanEvent(LanStringEvent, "true");
                this.FireLanEvent(LanFloatEvent, 1.0f);
                this.FireLanEvent(LanIntEvent, 1);
                this.FireLanEvent(
                    LanSerializedEvent,
                    new SerializedClass {
                    Field = "true"
                },
                    new SerializedClassSerializer()
                    );
                GD.Print("Events fired");
            });
            server.CreateServer(ServerPort, 1);
            GetTree().NetworkPeer = server;
        }
Example #28
0
    public void InitServer(Godot.Object obj, string playerJoin, string playerLeave, string port = "")
    {
        isServer = true;
        peer     = new Godot.NetworkedMultiplayerENet();
        this.GetTree().Connect("network_peer_connected", obj, playerJoin);
        this.GetTree().Connect("network_peer_disconnected", obj, playerLeave);

        int usedPort = DefaultPort;

        int customPort = 0;

        if (port != "" && Int32.TryParse(port, out customPort))
        {
            usedPort = customPort;
        }

        this.randomSeed = (int)DateTime.Now.Ticks;
        this.random     = new Random(randomSeed);

        peer.CreateServer(DefaultPort, MaxPlayers);
        this.GetTree().SetNetworkPeer(peer);
        selfPeerId = this.GetTree().GetNetworkUniqueId();
    }
Example #29
0
    // Main menu network controls:
    public void OnHostPressed()
    {
        ClientVariables.SaveMainMenu();
        if (ClientVariables.NetworkOptions.UseUPNP)
        {
            UPNP            upnp     = new UPNP();
            UPNP.UPNPResult resultV4 = (UPNP.UPNPResult)upnp.Discover(2000, 2, "InternetGatewayDevice");
            if (resultV4 == UPNP.UPNPResult.Success)
            {
                GD.Print("Will attempt to add port-forward with upnp ip v4");
                upnp.AddPortMapping(ClientVariables.NetworkOptions.Port);
            }
            else
            {
                upnp.DiscoverIpv6 = true;
                UPNP.UPNPResult resultV6 = (UPNP.UPNPResult)upnp.Discover(2000, 2, "InternetGatewayDevice");
                if (resultV6 == UPNP.UPNPResult.Success)
                {
                    GD.Print("Will attemt to add port-forward with upnp ip v6");
                    upnp.AddPortMapping(ClientVariables.NetworkOptions.Port);
                }
            }
        }
        var   peer   = new NetworkedMultiplayerENet();
        Error result = peer.CreateServer(ClientVariables.NetworkOptions.Port);

        if (result == Error.Ok)
        {
            GetTree().NetworkPeer = peer;
            Global.GotoScene("res://Session/Session.tscn");
        }
        else
        {
            GD.Print(result);
            GD.Print("On port:" + ClientVariables.NetworkOptions.Port);
        }
    }
Example #30
0
    public void createServer(String serverName, int port, int max_players)
    {
        hostType               = "Server";
        serverinfo.name        = serverName;
        serverinfo.used_port   = port;
        serverinfo.max_players = max_players;

        // Initialize the networking system
        NetworkedMultiplayerENet peer = new NetworkedMultiplayerENet();

        // Try to create the server
        if (peer.CreateServer(serverinfo.used_port, serverinfo.max_players) != Error.Ok)
        {
            GD.PrintErr("Failed to create server");
            return;
        }

        //  # Assign it into the tree
        GetTree().NetworkPeer = peer;
        // Tell the server has been created successfully
        EmitSignal(nameof(ServerCreatedSignal));

        registerPlayer(gamestateNetworkPlayer.ToString());
    }