Simple send var of clien to server by ENet

Godot Version

Godot 4.2

Question

Send data of server to client and from client to server. ChatGPT give me only example for Godot 3. Client:

extends Node

var client = null

func _ready():
    # Створення клієнта ENet
    client = NetworkedMultiplayerENet.new()
    client.create_client("localhost", 12345)  # Підключення до локального сервера на порті 12345
    get_tree().set_network_peer(client)

func _process(delta):
    # Перевірка підключення
    if client and client.get_connection_status() == NetworkedMultiplayerPeer.CONNECTION_CONNECTED:
        # Отримання пакета від сервера
        var packet = client.get_packet()
        if packet:
            # Обробка отриманого повідомлення
            var message = packet.get_string()
            print("Received message from server:", message)

Server:

extends Node

var host = null
var client_peer = null

func _ready():
    # Створення хоста ENet
    host = NetworkedMultiplayerENet.new()
    host.create_server(12345, 8)  # Порт 12345, максимально 8 гравців
    get_tree().set_network_peer(host)

func _process(delta):
    # Перевірка наявності підключення
    if host and host.is_connection_available():
        # Отримання піра, який хоче приєднатися
        var peer = host.poll()
        if peer:
            # Прийняття підключення
            client_peer = peer

            # Відправлення повідомлення клієнту
            send_message_to_client("Welcome to the server!")

func send_message_to_client(message):
    # Створення пакета з повідомленням
    var packet = Packet.new()
    packet.store_string(message)

    # Надсилання пакета клієнту
    client_peer.put_packet(packet)

Please give the example of this in Godot 4.2!

Take a look here. At the end there is an example that you can modify to do what you need it to do in 4.2

Of course, at first I look i Godot docs, but put a data with rpc… Yes, I want to modify example, but don`t know Godot ENet very good to do that/ That’s why i asked the this question. Can you give me a example, or nobody use ENet packet?

I have test the RPC and now I have error _process_rpc: RPC ‘my_func’ is not allowed on node /root/Game. Client and server have function ‘my func’.

@roman did you managed to send and receive raw packets with ENet? I’m trying to avoid rpc but I can’t get it to work here.

I am using RPC and it`s work good)

1 Like