GithubHelp home page GithubHelp logo

mlapi.relay's People

Contributors

twotenpvp avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mlapi.relay's Issues

Please add add an full example and ruffles support.

This went crazy in the mlapi discord a few days ago... we simply couldnt figure out how to use this packet... and ruffles didnt worked either ( It spammed errors ). So we needed to copy a bunch of dll files into the publish folder of the builded project.
Could you please add an full example of usage and ruffles support ? I bet you would make many, many people happy.

RuffleSocket Doesnt contain Disconnect

using Ruffles.Core;

private RuffleSocket socket;

socket.Disconnect(connectionId, true);
socket.Send(payload, connectionId, channelId, false);
socket.RunInternalLoop();
are all not contained in RuffleSocket

Error when connecting to relay server "The MLAPI Relay detected a CRC mismatch."

I'm getting the below error when connecting from unity to the relay running on a amazon EC2 instance:

[MLAPI.Relay] The MLAPI Relay detected a CRC mismatch. This could be due to the maxClients or other connectionConfig settings not being the same UnityEngine.Debug:LogError(Object) MLAPI.Transports.UNET.RelayTransport:BaseReceive(NetworkEventType, Int32, Int32&, Int32&, Byte[], Int32, Int32&, Byte&) (at C:/projects/mlapi/MLAPI/Transports/UNET/RelayTransport.cs:399) MLAPI.Transports.UNET.RelayTransport:Receive(Int32&, Int32&, Int32&, Byte[], Int32, Int32&, Byte&) (at C:/projects/mlapi/MLAPI/Transports/UNET/RelayTransport.cs:284) MLAPI.Transports.UNET.UnetTransport:PollEvent(UInt64&, String&, ArraySegment1&, Single&) (at C:/projects/mlapi/MLAPI/Transports/UNET/UnetTransport.cs:92)
MLAPI.NetworkingManager:Update() (at C:/projects/mlapi/MLAPI/Core/NetworkingManager.cs:642`

It's unclear what the correct settings for the Networking Manager script and Unet Transport should be in order to satisfy the requirement of matching up with the config.json settings of the relay.

A way for relay server to give frontend a bit more context

As I'm working with getting the relay server up and running, I was thinking it could be good to have some extra messages sent to the frontend so the host/client can better understand what is happening on the relay server side.

  1. When a host creates a new room, a message can be sent to the frontend with the IP/Port the host is on as the relay server seems to be setting a random port each time a new room is made.
  2. A error message to the client trying to connect to a room that doesn't exist.

From there front end can handle it however they please.

I have started this kind of in my fork with TODOs. However, I don't understand how the room.Send() method works, my netcode knowledge is novice.

Thanks

Sending fragmented data causes IndexOutOfRangeException

Hello,

I am having an odd issue where sending fragmented messages over the relay causes a IndexOutOfRangeException. Sending over fragmented channels works fine, but as soon as the message is too large and needs to be fragmented, issues occur.
This issue doesn't happen without the relay.

Sending a fragmented message from the Server to the Client causes this to be repeatedly output into the Relay server itself

[ERROR] Exception during loop: System.ArgumentException: Offset and length were out of bounds for the array or count is greater than the number of elements from index to the end of the source collection.
   at System.ThrowHelper.ThrowArraySegmentCtorValidationFailedExceptions(Array array, Int32 offset, Int32 count)
   at MLAPI.Relay.Transports.UnetTransport.Poll(UInt64& connectionId, Byte& channelId, ArraySegment`1& payload) in C:\Users\dylanpdx\Source\Repos\MLAPI.Relay\MLAPI.Relay\Transports\UnetTransport.cs:line 44
   at MLAPI.Relay.Program.RunLoop() in C:\Users\dylanpdx\Source\Repos\MLAPI.Relay\MLAPI.Relay\Program.cs:line 241
   at MLAPI.Relay.Program.Main(String[] args) in C:\Users\dylanpdx\Source\Repos\MLAPI.Relay\MLAPI.Relay\Program.cs:line 221

Sending a fragmented message from a Client to the Server causes this to be repeatedly thrown into the Host PC (not the relay server)

IndexOutOfRangeException: Index was outside the bounds of the array.
MLAPI.Transports.UNET.RelayTransport.BaseReceive (UnityEngine.Networking.NetworkEventType event, System.Int32 hostId, System.Int32& connectionId, System.Int32& channelId, System.Byte[] buffer, System.Int32 bufferSize, System.Int32& receivedSize, System.Byte& error) (at <10b4ebfb14e04d6583eb858de486f4fc>:0)
MLAPI.Transports.UNET.RelayTransport.Receive (System.Int32& hostId, System.Int32& connectionId, System.Int32& channelId, System.Byte[] buffer, System.Int32 bufferSize, System.Int32& receivedSize, System.Byte& error) (at <10b4ebfb14e04d6583eb858de486f4fc>:0)
MLAPI.Transports.UNET.UnetTransport.PollEvent (System.UInt64& clientId, System.String& channelName, System.ArraySegment`1[System.Byte]& payload, System.Single& receiveTime) (at <10b4ebfb14e04d6583eb858de486f4fc>:0)
MLAPI.NetworkingManager.Update () (at <10b4ebfb14e04d6583eb858de486f4fc>:0)

I am using the UNET transport, and the config.json is configured correctly (no CRC errors). I've also made no changes to the source code, i've only compiled it and am running the server on Linux

Mirror compatibility

Hello,
Is it possible to use this relay with the Mirror framework? If not how to add support for it?
Thanks.

Dotnet Core 2.0

Getting a null reference when running with Dotnet Core 2.0, on line 244, with any settings or configuration.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.