Search Unity

Assets DarkRift Networking 2: The next level of networking

Discussion in 'Works In Progress - Archive' started by Jamster, Jan 20, 2016.

  1. chrisx84

    chrisx84

    Joined:
    Nov 9, 2011
    Posts:
    85
    ok i get it derpy me, devs gotta eat too xD sorry man.
     
  2. The_Milesy

    The_Milesy

    Joined:
    Feb 9, 2017
    Posts:
    9
    Yeah I get that. Even if its a nominal $5-$10. Though once you actually charge a fee, that opens up another set of issues.

    The flip side of that argument is if you do charge $100+ there is only going to be a handful of developers that even bother giving it a shot. So your in the same boat revenue wise.

    Personally, I'm fairly new to unity, and still teaching myself. I'm enjoying learning Darkrift one, and keen to get into DR2. But I wouldn't drop $100 to try DR2 off the bat. Maybe that is just me.
     
  3. Jamster

    Jamster

    Joined:
    Apr 28, 2012
    Posts:
    1,102
    I agree that there's definitely a trade-off here, and it's something I need to balance. I want to encourage people to buy DarkRift and support it but obviously people need the ability to evaluate it and ensure it's right before committing to that sort of expenditure. Having a free version should also mean that many projects that don't make it far don't waste money on a license they'll never use.

    I don't expect people to drop $100 on an asset straight away :)
     
  4. The_Milesy

    The_Milesy

    Joined:
    Feb 9, 2017
    Posts:
    9
    your website is offline by the way.
     
  5. Jamster

    Jamster

    Joined:
    Apr 28, 2012
    Posts:
    1,102
    Yeah, I'm aware of it! My web host has broken something again...

    Thanks
     
  6. MassDivide

    MassDivide

    Joined:
    Apr 16, 2013
    Posts:
    4
    I'd drop $100 if it was unlimited usage :)
     
  7. Jamster

    Jamster

    Joined:
    Apr 28, 2012
    Posts:
    1,102
    I think it will be unlimited usage, though it might depend on what you mean by unlimited :p
     
  8. Vytek

    Vytek

    Joined:
    Apr 29, 2016
    Posts:
    51
    News about BETA?
     
  9. Jamster

    Jamster

    Joined:
    Apr 28, 2012
    Posts:
    1,102
    Nearly finished the first part of the tutorial, just fixing a few bugs and refactoring a few bits now I've seen the end result. I'll be working on the second half the coming weeks and I expect it to take about the same amount of time really :)
     
    Lisk, Vytek and DarkFlameX1 like this.
  10. Lisk

    Lisk

    Joined:
    Oct 23, 2013
    Posts:
    99
    Looking forward to it!

    Just caught up on some of the past chat - I personally think $100 is a very fair price. I'd be willing to pay extra for dedicated support/consulting if that's something you'd be open to. But first, DarkRift 2 of course. :)
     
  11. Nexam

    Nexam

    Joined:
    May 14, 2016
    Posts:
    28
    Totally agree. I plan to use DR2 for a commercial project, 100$ with support is NOTHING. Extra price for premium support for example is something you can do i guess.
     
  12. Lisk

    Lisk

    Joined:
    Oct 23, 2013
    Posts:
    99
    Agreed. I am planning to use DarkRift 2 for a commercial project as well.

    Btw, I went ahead and created a Slack channel called DarkRift Unity. Feel free to join it anyone. I'm on Slack every day so I'll be here.
    https://darkriftunity.slack.com/shared_invite/MTUyMDE3ODg4NTEzLTE0ODkxNjIwOTUtYWY4ZTU2YjkwYg

    For now, probably wouldn't be too much going on, but it'd be nice to meet fellow DarkRift users and talk net code. In the future, I imagine this could be a place for DarkRift 2 developers to exchange knowledge (and ask Jamie for help). There could maybe be a dedicated channel for paid users, but that'd be Jamie's call.
     
    Jamster and Vytek like this.
  13. DarkFlameX1

    DarkFlameX1

    Joined:
    Mar 14, 2015
    Posts:
    13
    Nice that could be useful! ;)
     
  14. Nexam

    Nexam

    Joined:
    May 14, 2016
    Posts:
    28
    Hi @Jamster ! Have you an estimation date for the releases of Dark Rift 2 (Alpha, Beta, Release?)
    Got a running project and a schedule to define for the next 3 months. I need to know when i will be able to switch to Darkrift 2, and obviously the sooner the better :)
     
  15. Jamster

    Jamster

    Joined:
    Apr 28, 2012
    Posts:
    1,102
    Hello!

    Firstly, thanks for the slack! I've been meaning to do something like that for a while! Feel free to advertise it in the other threads as well! :)

    Sadly I can't provide premium support because of the Asset Store EULA, put simply I have to have the same level of support for all packages I have on the asset store. At some point I'd definitely like to start doing more contracted work/consulting with DarkRift though so that could become something I do after release (before I get emails, not now! I don't have time now!) :p

    @Nexam I'm getting bogged down again with other work at the moment so it's not likely to be soon, I have the majority of the Easter period with less work so I might be able to crack on then and release alpha soon after. I'm really sorry for constantly pushing the dates back it's just I don't have enough time in the day!

    Jamie
     
    Lisk likes this.
  16. Vedrit

    Vedrit

    Joined:
    Feb 8, 2013
    Posts:
    514
    I'm glad DarkRift had a try-for-free thing. I'm really liking it and, when I have some more money to toss at my project, I'll be getting a commercial license.

    How's about a Discord channel for those of us who prefer that over Slack?
     
  17. Deusald

    Deusald

    Joined:
    Feb 11, 2014
    Posts:
    31
  18. Jamster

    Jamster

    Joined:
    Apr 28, 2012
    Posts:
    1,102
    None :p I have minimal work over the next few weeks though so I'm hoping to get some more done then!
     
  19. Jamster

    Jamster

    Joined:
    Apr 28, 2012
    Posts:
    1,102
    As part of the process for DarkRift 2 I've wanted to move everything to Visual Studio Team Services for a while now so that all work items, repositories, build, testing and deployment can be done in a single centralised place. I had today off and so decided I'd move everything over! (And fix the damn website again)

    So instead of now being spread across BitBucket for all repositories, Trello for all work items and MyGet for a very poorly configured CI for Hazel. It's all now on VSTS, the only thing not there is the repository for Hazel (that's still on GitHub) but VSTS integrates nicely there and still allows me to build, test and deploy to Nuget even better than MyGet did :)

    Plus there's also a chance that VSTS could deploy to GitHub Releases and the DarkRift website all automatically as well :)

    In celebration (for me at least), here's a screen shot of the DarkRift todo list! Capture.PNG
     
    IanSmellis, Whackeddie, Lisk and 4 others like this.
  20. Deusald

    Deusald

    Joined:
    Feb 11, 2014
    Posts:
    31
    Did you implemented reliable and unreliable sending methods in UDP?
    I'm asking because I have a problem. I want my game to be on UDP because it's fast arcade game and the order of packets dosen't matter. But sometimes I want to send one special packet for example "Start battle", "End battle" ect. What if this single packet get lost? How can I deal with it by using UDP? Need I implement my own high lvl retransimission algorithm with unique tags or is there a better way to deal with it? Especially if there will be better solution for this in your DarkRift2?
     
    Last edited: Apr 2, 2017
  21. Jamster

    Jamster

    Joined:
    Apr 28, 2012
    Posts:
    1,102
    It's in Hazel so it's also in DarkRift 2 :)
     
  22. JitterByte

    JitterByte

    Joined:
    Aug 18, 2014
    Posts:
    3
    Hi @Jamster!

    Firstly, Darkrift is amazing. I'm loving it's simplicity, so far only used the evaluation version but i plan to buy the unlimited license once my project goes live.

    I just have one question. I plan to use the standalone server, if i were to make a client using XNA/Monogame instead of unity, eill it be enough to reference the Darkrift DLLs in the project or would i need to perform any extra steps to get it working?
     
    Lisk likes this.
  23. Jamster

    Jamster

    Joined:
    Apr 28, 2012
    Posts:
    1,102
    With DarkRift 1 you need the UnityEngine DLL so that it can see the Vector2/3/3 types unfortunately, DarkRift 2 is designed so that I can easily move it to other architectures so will work out the box (I think) :)
     
  24. Nexam

    Nexam

    Joined:
    May 14, 2016
    Posts:
    28
    Hi Jamster. Todo list look good :)
    Any estimation for the beta of Darkrift 2 ? I was hoping to see it coming in May or something :p
     
  25. Jamster

    Jamster

    Joined:
    Apr 28, 2012
    Posts:
    1,102
    May sounds possible! I wanted to get alpha it ready by the end of the week but I'm not so sure anymore!

    ADDED: Having said that there are a couple of major bugs still present!
     
    Lisk likes this.
  26. Jamster

    Jamster

    Joined:
    Apr 28, 2012
    Posts:
    1,102
    Alpha Testing Signup

    I was going to wait longer but I may as well put this up now since we're getting closer. I'm not sure quite when it will be but a lot of people have expressed interest so here's the link to sign up!

    Sign up for the DarkRift alpha testing here.

    Jamie
     
  27. Lisk

    Lisk

    Joined:
    Oct 23, 2013
    Posts:
    99
    Can't wait! It's been a long time coming. But if we've waited this long, we can wait a bit longer while you fix those major bugs :)
     
    Conquestor2 and Jamster like this.
  28. michaelbeers

    michaelbeers

    Joined:
    Aug 19, 2015
    Posts:
    18
    Signed up for the alpha can't wait!
     
    Conquestor2 and Jamster like this.
  29. Nexam

    Nexam

    Joined:
    May 14, 2016
    Posts:
    28
    Oh yeah! Awesome!
     
    Conquestor2 and Jamster like this.
  30. Jamster

    Jamster

    Joined:
    Apr 28, 2012
    Posts:
    1,102
    Thanks for the responses! Keep them coming :D
     
    Conquestor2 likes this.
  31. Vytek

    Vytek

    Joined:
    Apr 29, 2016
    Posts:
    51
    Signed! I am ready to go! ;-)
     
    Conquestor2 and Jamster like this.
  32. Conquestor2

    Conquestor2

    Joined:
    Aug 17, 2015
    Posts:
    5
    Signed up/ready to smash my keyboard over bugs I think are related to my code.
     
    Jamster likes this.
  33. Vytek

    Vytek

    Joined:
    Apr 29, 2016
    Posts:
    51
    Hello, Jamster!

    Perhaps I found a problem in DarkRiftServer.exe. (Free and Pro version)

    This is my actual settings.cnf in the same path of DarkRiftServer.exe

    //The port on which the server should listen.
    Port: 4296

    //The maximum number of clients that can connect to the server. All others will be rejected.
    //Note: The maximum number of connections is actually the minimum between this and the maximum
    //allowed by your license.
    MaxConnections: 65535

    //Should passing data be shown output for confirmation?
    //Note: Don't leave on in production servers, writing to any GUI is an expensive operation and
    //will slow your server dramatically!
    LogData: False

    But server console is active and also logs works perfectaly :-(

    False disable all? Is not working?

    My test was in version 1.4.4 and on Windows and Linux Ubuntu 14.04 with latest Mono runtime.

    Thank you in advance.
     
  34. Jamster

    Jamster

    Joined:
    Apr 28, 2012
    Posts:
    1,102
    Setting LogData doesn't disable all logs, only the ones detailing messages received (for debugging). You also need to restart the server for the settings to take affect.

    P.S. I don't think you meant to post in the Darkrift 2 thread!
     
  35. Vytek

    Vytek

    Joined:
    Apr 29, 2016
    Posts:
    51
    I am very sorry,
    but I posted in the wrong thread.

    I reply in right thread.

     
  36. Jamster

    Jamster

    Joined:
    Apr 28, 2012
    Posts:
    1,102
    I've been slightly distracted by a combination of work, Overwatch and Elite Dangerous recently but I'm now nearing the end of the second section (out of 3) of the tutorial!

    The third section is the guide to users moving from DarkRift 1 and could potentially be done during the alpha if people are happy to work things out on their own in the mean time! Otherwise it's only bugfixes and the reference documentation left to do!
     
    ZaidGW, Vytek, Deusald and 1 other person like this.
  37. Deusald

    Deusald

    Joined:
    Feb 11, 2014
    Posts:
    31
    I will be happy to work things out on their own in the mean time :D I can not wait :)
     
    ZaidGW and Jamster like this.
  38. Deusald

    Deusald

    Joined:
    Feb 11, 2014
    Posts:
    31
    ZaidGW likes this.
  39. Jamster

    Jamster

    Joined:
    Apr 28, 2012
    Posts:
    1,102
    Sadly DarkRift can't be the only work I have! Sorry :)
     
  40. lorddanger

    lorddanger

    Joined:
    Aug 8, 2015
    Posts:
    103
    Hello, this is my 1st time posting in Dark rift
    Well, I have a suggestion, What I know about Dark Rift that it managed by plugins

    Plugins > Darkrift.exe

    Now I have a request for feature (if Possible in future)
    We can connect multiple Darkrift.exe with their own or Shared plugins

    So the developers can set up multiple exes
    That will be like
    Account Server (Account Related)
    PVP Server (Load All pvp maps and pvp logics / Arenas)
    Zone Server 1 (Load certain number of maps )
    etc

    Can have separate plugins or shared
    And each Server Exes can put In a Separate folder for easy use

    Just suggestion I don't know how much is already implemented and how much is possible or What can be already done ...


    P.S. - @Jamster really good work and you are really active on forum too
     
  41. Jamster

    Jamster

    Joined:
    Apr 28, 2012
    Posts:
    1,102
    Hey there!

    Some of the things you suggest I think are already added and some are planned :)

    In DarkRift 2 you can specify which plugins you want loaded or even specify different folders to load the plugins from so you could have AccountsPlugins and PVPPlugins folders separately and the server could load a specific set of them, alternatively you can now specify in the settings file which you want loaded :)

    In terms of connecting servers together, my current plan is to release a proxy server that the client can connect to and then that can move the client between servers etc. So your client would connect to the proxy which would connect them to the Matchmaking server, then once a game has been found it would reconnect them to the correct gameserver until the game was ended :) Servers would not necessarily talk to each other (they'd talk to the proxies) but would follow the current DarkRift scheme of communicating through a backend database :)

    I hope something like that is suitable for you!

    Jamie
     
    lorddanger likes this.
  42. lorddanger

    lorddanger

    Joined:
    Aug 8, 2015
    Posts:
    103
    Thanks @Jamster for the detailed response
    Current features will be work for me now

    And for the project Darkrift 2
    Somewhere I read that you will be going to make it Open Source.

    I would suggest that Make the project Open Source will lose it importance
    Darkrift is a powerful tool Source it would be better if the source would be available to the high plan users.
    To be honest for those who will get 20-50 players will not invest time in Updating Server Codes (There will be few, By that I mean very few).

    On the other hand, it will be you motivated and be providing support Users will be much more enjoyable
    And this can also make very healthy development and Community


    PS. :- But please don't change the current pricing and Don't make Source Code Tier price ridiculously high price.
     
  43. Jamster

    Jamster

    Joined:
    Apr 28, 2012
    Posts:
    1,102
    I have no plans for it to be open source! I have made the underlying network code (Hazel) open source so that others can contribute and help with it but the main DarkRift code wont be :)
     
    lorddanger likes this.
  44. Obsurveyor

    Obsurveyor

    Joined:
    Nov 22, 2012
    Posts:
    277
    Might want to edit your FAQ then:
     
    Jamster likes this.
  45. Jacky2611

    Jacky2611

    Joined:
    Mar 2, 2013
    Posts:
    12
    Could you tell us a bit more about what exactly DarkRift 2 will include?

    I am planing to challenge my coding skills by writing a kinda MMO like proof of concept game with physics and a very large seamless world. Currently I plan to have region servers (managing the physics and interactions for a group of chunks) which are connected through a connection server to the clients (to avoid having to reconnect to different region servers). What I need is a way to send data between region servers and connection server and a way to let the region servers communicate with each other so that cross border interaction is possible. (the last part is going to be a real nightmare:confused:)

    I already looked into a few other networking frameworks but most of them only run on top of unity and assume that there is a direct connection between the client and a single game server, leaving me no convenient way to manipulate coordinates (for floating origin and double precision) and choose specific region server(s) to connect to.

    DarkRift networking seemed to be a good fit but so far I haven't tried it yet and I would rather not start working with it if there will be a newer version in the foreseeable future. Could you tell me how much freedom DarkRift 2 will give me? Will I be able to run it without unity? And how exactly will server to server communication be handled? Would be great if you could give me some more specific information.

    Btw, any chance for some sort of built in server sharding/scaling support? :D
     
  46. Jamster

    Jamster

    Joined:
    Apr 28, 2012
    Posts:
    1,102
    Hey Jacky,

    DarkRift was always designed to be at the other end of the spectrum, it doesn't limit you and provides maximum flexibility but provides less functionality as a result. You'll be able to build your game using DarkRift and I'd argue that you'll have an easier time than with other systems!

    From release DarkRift 2 wont contain any inter-server/or scaling stuff (or is at least unlikely to) but this will be coming later through proxies and possibly some integrations with Azure. Proxies will allow you to handle some basic traffic without servers (e.g. is this a valid tag/subject?) and more easily move players between servers without them needing to know it ever happened.

    For inter-server communication it is likely to stay the same as the current DarkRift and use a database to handle sharing information. Though of course this wont work for frequently updating values it's also unlikely that any links between servers would work very well either with that kind of bandwidth and for things like that I'd recommend that you try and keep them to a single server to avoid it.

    You will be able to run DarkRift without it being in Unity yes :)
     
  47. Jamster

    Jamster

    Joined:
    Apr 28, 2012
    Posts:
    1,102
    This evening I was able to fix a bug in the tutorial that meant frequently entities didn't spawn on the clients. This turned out to be down to connecting and subscribing to data in the Start routine as it somehow managed to connect and receive the messages before I'd subscribed! Lesson learned :p
     
    DarkFlameX1 likes this.
  48. Jamster

    Jamster

    Joined:
    Apr 28, 2012
    Posts:
    1,102
    The alpha has been released to testers! If you're a tester and haven't seen it yet go and look at the discord chat! :)

    (I apologise it wasn't emailed out, I've changed website provider and things are still migrating so I can't!)
     
  49. parserink

    parserink

    Joined:
    Mar 27, 2017
    Posts:
    1
    Any chance to get on the Alpha list? It looks like you closed it already.
     
  50. Jamster

    Jamster

    Joined:
    Apr 28, 2012
    Posts:
    1,102
    Yes it's closed unfortunately, the beta will be open to everyone however :)