Ok, we decided to open access to everybody who interesting in “sever.dll” project. It is standalone library whihc allow you writing c# program communication with unity clients via unet. For example you can try to do lobby server, or chat server. and so on.
Binaries has been released for Windows, Linux and Mac. All of them are 64 bit (do not forget this when you will use them). All of them should work with .Net core. Code base, last version of unet (we did some work on performance recently) should be compatible with any 2017.x and 2018.x clients.
The library is provided as a preview/beta still, and we’ll provide best effort support for it. It’s under the UCL license included in the zip file.
I will try to add c++ interface in the few next weeks.
@Fijit ups, looks like i forget fix examples and docs: Callbacks name did change. Use these please
public NetworkEventAvailableCallback NetworkEventAvailable //old ConnectionReadable
{
get { return m_NetworkEventAvailable; }
set { m_NetworkEventAvailable = value; }
}
public ConnectionReadyForSendCallback ConnectionReadyForSend //old SetSendCallbackFunc
{
get { return m_ConnectionReadyForSend; }
set { m_ConnectionReadyForSend = value; }
}
Or is it something else?
@mischa2k it is LLAPI in general only, actually it is full llapi part of unity.
And is this in 2017.4 LTS - so far no, it will work with 2017.4 but has not migrated yet. When will it backported to 2017.4 - probably in month. We still working on performance improving. API and protocol itself have not changed. But i changed couple algorithms inside, removed stl containers and so on.
@Fijit and you will need to change UNETServerAssembly.dll in SharpPart\SharpProject\Assemblies folder to the new one from lib folder. and I attached correct file with fixes
I see people still have some confusion about what is this library, what is LLAPI, and how they are related to each other.
UNet itself is a low-level transport and this server library, as well as LLAPI is an interlayer. So yea, they are doing the same job under the hood, but one made for standalone servers and one integrated with Unity for player hosted games primarily.
@TwoTen only time, I need 3 days to finish implementation and 2 days for testing and deploying, but I do not have this time… If you really need this, could you please kick my ass every week by mail with reminder that I promised?
PS. As u can see the last time i was here couple of weeks ago No time et al.
Please add an overload to the GetConnectionInfo merthod where NetworkID and NodeId is not requires as those classes are in the UnityEngine library.
We REALLY need a Offset on the Send method. Right now we are tinkering by moving every byte forwards or backwards before sending the buffer and recalculating the size when we want to for example ignore certain parts of the buffer for sending.
MaxConnections should not be a part of the CRC. We have written a UNET Relay so that users don’t have to use Unity’s relay as it costs quite a bit and we want self hosting. But we require users to set the MaxConnections very high. On the relay, we want the maxConnections to be very high as it will host many sessions. But we don’t want the games to require that large of a maxConnections count. (I think it might be a bug that a CRC is thrown when the MaxConnections are different)
@TwoTen ok will check today. BTW, c++ iface almost ready (just need to add example) if the changes whihc you pointed out is urgent, I can add them and publish new binaries on this week. Or on the next week with example
The changes are not “urgent”, we worked around it. But they will decrease performance of our application. And since it’s a relay. Every bit of performance is important. Just take your time, and thanks a ton for the CPP interface.
@TwoTen Hmm, I do not see this function in browser, but I can use it, check please the path to assembly, if you will fail again ping me i will check zip itself: