Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

unet phase2, server.dll?

Discussion in 'UNet' started by Player7, Aug 1, 2017.

  1. Player7

    Player7

    Joined:
    Oct 21, 2015
    Posts:
    1,533
    Is it possible to get this server.dll ?

    I recently finally started on adding multiplayer to a game and I'm at the point where it works using llapi in unity with client/host on the same instance and also clients connecting from another instance, however ideally would rather build the server part of this as a separate c# project outside of unity aswel. Because frankly the deployment and testing times would be a lot quicker than waiting for the unity project to compile for just a few script iterations everytime and then running it. Not to mention I'd rather like a console terminal to use for the server cmd input/output status, instead of some unity headless nogui thing when not running it as host&client player.

    so server.dll ??? I swear I've read it being offered to those who want an early experimental ? Or was I just seeing things.

    Its a real shame its taking this long, as its currently only some of the third party networking libraries that offer this, while phase2 of unet was something that attracted me to using unity like 2years ago now and was even being asked about back then... and despite coming close to using another third party library for networking I'd rather stick with the built in stuff as there is always going to be a much larger community around it for example and support.. and I've heard there are plans to improve unet support in all the areas its lacking. Maybe even the docs will improve with added things you should know with llapi that don't require hours searching and discovering random threads posted months ago.

    Edit.. can this be moved to the multiplayer board.. thread got posted in the wrong section.
     
    Last edited: Aug 1, 2017
  2. TwoTen

    TwoTen

    Joined:
    May 25, 2016
    Posts:
    1,168
    Only some of the third party networking libraries offer this? I'm pretty sure there is not alot of Networking Libraries that only works in Unity. Most networking libraries work as a DLL. NetworkComms.NET, Enet, Lidgren etc.

    Just a heads up though, running it outside Unity requires you to give alot more trust to the client AFAIK. You can't simulate things, use physics etc then. And if you are planning to use the external DLL. Which I am also, you should probably prepare your project a bit.

    Right now I have the server in a separate project. So once the DLL is out. I just have to take my codebase and swap it over. I have made sure to not use any MonoBehaviours, Update loops etc. And no Vector3's or anything. (Just my own Vector3 struct).

    But I think it's WIP atm and that you can get a early version by contacting Alex.
     
  3. Player7

    Player7

    Joined:
    Oct 21, 2015
    Posts:
    1,533
    I was thinking about the ones specifically built for unity usage though.

    ...as far as simulating, physics, its not just that kind of game.. and also not doing the larger scale pvp stuff to avoid cheating S***ters who can't play good themselves. The extra code and time and learning it would entail in doing the multiplayer right for that ain't worth my time right now. Rather cross that bridge later if its worth doing really based on the games playerbase. Though I do see it as an area Unity could really step in and help developers with authoritative simulation and anticheat.. but given how long phase2 is taking its probably not worth hoping on improvements to framework features in those area anytime soon :(

    "Right now I have the server in a separate project"

    A separate server project but still in unity I presume?
     
  4. TwoTen

    TwoTen

    Joined:
    May 25, 2016
    Posts:
    1,168
    Yes two separate Unity projects.
    And you want Unity to write your network code and network structure for you? Really?....
    That's absurd. Writing authoritive code isn't THAT much more complex. I managed to add Lag Compensation that is 100% accurate for clients using the Physics system by Unity. Read about my progress here: https://forum.unity3d.com/threads/lag-compensation-simulation-back-in-time.486012/ (Took me two days, research and development)

    And how would they even help developers make their games cheat proof? I can't see any way to do that other than them writing the actual network code for you. It's really not that difficult to write authoritive code.

    To me, it seems like you want Unity to write your network code. That doesn't work. They made a network library, and I absolutley love it
     
    xVergilx likes this.
  5. benzsuankularb

    benzsuankularb

    Joined:
    Apr 10, 2013
    Posts:
    132
    Hi @TwoTen

    I really like the UNET both llapi and hlapi but decision to make my own high level while waiting for server dll to be released.

    But currently I need to find some alternative to LLAPI
    At least temporary before server dll move on.
    ... High performance, various QoS, support both Unity and Server
    Do you have any suggestion :)
     
    Last edited: Sep 6, 2017
  6. TwoTen

    TwoTen

    Joined:
    May 25, 2016
    Posts:
    1,168
    Lidgren. But I have the Server DLL. Just ask aabramavhev and he will give it to you.
     
  7. benzsuankularb

    benzsuankularb

    Joined:
    Apr 10, 2013
    Posts:
    132
    I did asked larus several months ago but it's work with Unity5.3 on that time
    While my project is on 2017.x and also need server dll for linux.
    Waiting for him to answer :confused:

    Do you have any news for update
    What's latest version of dll now?
     
  8. Driiades

    Driiades

    Joined:
    Oct 27, 2015
    Posts:
    151
    Noob question : How do you connect with the LLAPI with two differents projects ?
    You can select on UNET which Unity project each correspond ?

    How do you manage RPC/Command with two differents projects ?

    Just curious, I use only the client hosted part for my game. But if I want to create a lobby with many players .. Maybe I will need this.

    server.dll are only for the relay server purpose, right ?
     
  9. benzsuankularb

    benzsuankularb

    Joined:
    Apr 10, 2013
    Posts:
    132
    If I understand your question correctly,
    We can connect LLAPI on Unity with LLAPI on Server (server dll)

    RPC/Command those are HLAPI which currently have only on Unity.
    server.dll currently include only LLAPI,
    So I decided to implement my own HLAPI which support both Unity and Server tailored features as my need.

    No you don't need server dll, Unity provided relay server for you.
    You only need server dll when you want to implement your own dedicate server.
     
  10. Driiades

    Driiades

    Joined:
    Oct 27, 2015
    Posts:
    151
    Not the expected answer :p

    If you have two differents Unity project. How do you tell that the first project connect to the second using UNET ?


    What do server.dll exactly ? Just support LLAPI ? What you will use for so ? I was thinking it was for the relay server part ... To host your own matchmaking =/ .
     
    Last edited: Sep 6, 2017
  11. TwoTen

    TwoTen

    Joined:
    May 25, 2016
    Posts:
    1,168
    Laurus is not the one to ask.

    @aabramychev
     
  12. aabramychev

    aabramychev

    Unity Technologies

    Joined:
    Jul 17, 2012
    Posts:
    574
    Not for Linux so far, as I manage this stuff personally so far. It will take significant time for me to prepare everything for linux... Sorry guys
     
    benzsuankularb likes this.
  13. Player7

    Player7

    Joined:
    Oct 21, 2015
    Posts:
    1,533
    A linux compile of the server.dll would be kind of essential at least to have by the time official release testing starts, I'm hoping at least :) because right now while I use the server.dll and developing on windows, the goal is to swap it out and use the linux compiled one later for hosting.

    It would probably be more requested and desired than the linux unity editor is right now. For the simple fact that server hosting is largely all linux based anyway, that and server costs for windows licenses is in many cases not worth the extra and usually only offered for dedicated servers which are usually costly enough without adding microsoft OS tax, not to mention vps setups are linux os run mostly and rarely will you find hosts offering windows server simply because of the resource usage of doing is greater than linux based setups.

    So yes please try to get the linux compiling server setup for the server and testing ... as I think you will find "If somebody will strongly ask us, we will try" you will indeed be asked for the linux compile of the dll even more once its out :)

    @aabramychev I been busy over the last few weeks since getting the dll only just started implementing it last week. Anyway I sent an email this time with some requests/reports on it.
     
  14. benzsuankularb

    benzsuankularb

    Joined:
    Apr 10, 2013
    Posts:
    132
    Thanks a lot.
    Did you try Lidgren, How does it perform compare both server dll and Lidgren.
    Any problem I should aware :confused:
     
  15. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    It's far from an unreasonable request to have network building blocks. In addition I doubt you've factored in the actual amount of work to get something like that polished... along with the rest of the game.

    Having HLAPI and LLAPI means he and you can be happy. So no, you can't go around criticising people for wanting Unity to do things, especially in light of the empowered marketing.
     
    Player7 likes this.
  16. benzsuankularb

    benzsuankularb

    Joined:
    Apr 10, 2013
    Posts:
    132
    I don't have 2 Unity project.
    I have one Unity and one Non-Unity project.
    They connect to each others only use LLAPI, not HLAPI.
    So there's no UNET's Command, Rpc.

    Server.dll is for connect between Unity and Non-Unity.
    And yes It's just support LLAPI.
     
  17. TwoTen

    TwoTen

    Joined:
    May 25, 2016
    Posts:
    1,168
    That is a very fair point. Unity has provided some great tools to abstract the Networking (HLAPI). But as for actually making your game cheat proof thats difficult for a general networking library to do for you even when it's built into the engine. When I wrote the mentioned statement I was mostly replying to this:
    It's true that Unity does do very little to educate new network programmers on how to make cheat "proof" systems. But at this point I do believe that other things has to be prioritised. Ex the DLL which was talked about at first.


    I never critised the HLAPI as I personally really like it.