uLobby 1.3 public beta!
  • Vote Up0Vote Down PatrickPatrick
    MuchDifferent Developer
    915 Points
    Hey UnityParkers,

    We are please to announce the release of the much anticipated uLobby 1.3 public beta.

    You can find the package here.

    The new manual page for the storage layer is here and there is a MySQL example project here.

    Release Notes

    This release's main feature is the custom storage layer with a MySQL implementation example.

    Improvements

    • Added Lobby.config.receiveBufferSize and sendBufferSize to configure the size of the buffer for sending and receiving messages.
    • Added a storage layer to uLobby which allows you to implement your own storage system to be used instead of the default Riak based one for accounts and friends.
    • Added utility classes and methods for implementing the storage layer interfaces
      Added a new demo project which implements the storage layer using MySql and an in-memory storage system.


    Cheers,

    The UnityPark team
  • 19 Comments sorted by
  • Vote Up0Vote Down ArcanorArcanor
    Member
    735 Points
    looking at it today, thanks. :)

    Update: looking good so far. I've never used any of the uLobby classes that previously required uGameDB (because of the Riak requirement), so I'll need to take some time to figure out how to make an initial implementation.

    The sample classes provided in the example project will help quite a bit! I can see how the InMemory and MySql implementations are working for the IStorageManager, IAccountOperations, and IFriendOperations interfaces, so it should be relatively simple to port them for use with PostgreSql. This is one of the things I'll be working on over the next week or so, and integrating it with the new uZone 2 on a new test server that I'm building.
    Thanked by 1Ashkan
  • Vote Up0Vote Down AshkanAshkan
    MuchDifferent Developer
    1445 Points
    @Arcanor I'm glad you liked it. Please send your feedback to us to be able to make it more beautiful for the final release. Any comments and bug reports are highly welcomed.
  • Vote Up0Vote Down ArcanorArcanor
    Member
    735 Points
    I'm finally taking first steps and implementing the mysql interface on a new server. However, I don't see any starting SQL scripts or table structures so that I can create an initial database for testing with. Should I just extrapolate what's needed from the queries inside MysqlImplementation.cs? Or did I miss something that's already been created to make this simpler for first-time setup?
  • Vote Up0Vote Down AshkanAshkan
    MuchDifferent Developer
    1445 Points
    Hey
    The sql script is in the zip file of the demo as we said here.
    http://developer.muchdifferent.com/unitypark/Tutorials/uLobbyCustomStorageLayer

    Execute it to import the schema into your database. On windows you can use workbench to easily import it, for other operating systems take a look at MySQL's manual.
    Thanked by 1Arcanor
  • Vote Up0Vote Down ArcanorArcanor
    Member
    735 Points
    yep, thanks. missed that. :)
  • Vote Up0Vote Down ArcanorArcanor
    Member
    735 Points
    Apparently the schema file has some errors/inconsistencies with the code implementation, regarding capitalization. For example:

    1. The schema's database name "ulobby" doesn't match code's default value of "uLobby" and causes MySqlException: Unknown database 'uLobby'. This can be fixed in the inspector (or in the code), but I'm noting it here as an inconsistency so it can be addressed.

    2. Table names are capitalized in code, but not in the schema file, causing errors, etc. For anyone attempting to use the schema file, you may want to edit either the schema or the code to be consistent with one another. Personally, I prefer lower case database and table names, so I'd suggest modifying the code in MysqlImplementation.cs so that all the embedded SQL references to "ACCOUNTS", "INVITATIONS", and "FRIENDS" are lower case. You'll also need to change the embedded column name references for "SENDER", "RECEIVER", "FRIEND", and "OWNER".

    There may also be a way to solve these issues with a mysqld variable/setting to ignore case, but in my default installation (5.5.37) the errors are present (unless you do the modifications I suggested above).
  • Vote Up0Vote Down ArcanorArcanor
    Member
    735 Points
    The above notwithstanding, the MysqlImplementation seems to work fine for me, with a remote database server, that I'm accessing via ssh tunneling. Thanks for your hard work on this!
  • Vote Up0Vote Down ArcanorArcanor
    Member
    735 Points
    In the interest of saving a bit of time, I have decided not to immediately proceed with the PostgreSQL implementation that I had previously mentioned, so that I can continue to test the MySQL implementation a bit more, as I develop my projects.

    That being said, I do still think it should be pretty easy to implement the PostgreSQL interface. I will get back to it eventually (within the next month or two), and I'll post back here when I do.
  • Vote Up0Vote Down PatrickPatrick
    MuchDifferent Developer
    915 Points
    Hi @Arcanor,

    Thank you very much for the feedback. I have updated the tutorial project following your suggestions.

    Cheers,


    Patrick
  • Vote Up0Vote Down ArcanorArcanor
    Member
    735 Points
    I checked out your modifications and it looks like you found something I didn't. I missed the identifiers called "ID". Your new MysqlImplementation.cs does it correctly. Thanks @Patrick!
  • Vote Up0Vote Down PatrickPatrick
    MuchDifferent Developer
    915 Points
    Hello dear beta testers.

    We're reaching the end of the beta phase for uLobby 1.3.0 and we feel pretty confident that it is almost ready to be released officially. We will perform some last refactoring before the actual release but the main feature-set seems to be quite stable.

    Do you have any feedback you'd like to share with us before we do so?

    Thanks again for your help!

    Cheers,


    Patrick Juhl
  • Vote Up0Vote Down ArcanorArcanor
    Member
    735 Points
    Sorry to report that I had scheduled most of the last month for out of town holidays, so not much development has gotten done since early July for me. However, I'm getting back to it now and have had no problems in my limited testing thus far. I will continue to report back as I move forward in the coming weeks with my implementations.
    Thanked by 1Patrick
  • Vote Up0Vote Down PatrickPatrick
    MuchDifferent Developer
    915 Points
    Thank you @Arcanor. So far there has been no major issue. We have however released a new version of the uLobby for an issue encountered on Linux. Please make sure to upgrade to the latest beta if you have such a setup.

    Cheers,


    Patrick Juhl
  • Vote Up0Vote Down ArcanorArcanor
    Member
    735 Points
    I am running the services on Ubuntu Server 14.04, and will be integrating the new beta 2 of uLobby, as well as the new uZone 2 today/tomorrow.
  • Vote Up0Vote Down AshkanAshkan
    MuchDifferent Developer
    1445 Points
    One issue has been find by a user "Scott Smith" which I'm really thankful of.
    There is a bug in friendships because MySQL friendships are stored bidirectional but riak isn't like that. Will fix it in next two weeks and release another version.
  • Hello all...

    I have tested uLink in combination with uLobby... well actually i did not go further than uLobby... but i wonder... is it broken?

    None of the suggested events of the API are working... i also found some event names that arent even listed in the API, such as uLobby_OnConnected.. cant even remember where i found it, but only 1 of them worked... the uLobby_OnDisConnect...

    Also... i find the information on the website very confusing... is this for advanced users only as they can guess what to is expected?

    I am not trolling here.. i am really hoping this works, i like that the syntax is very close to Unity's networking...

    Goodluck!

    PS: Where do we online chat so i can flood the room with my newbee questions?
    IRC freenode anyone?
  • I can confrirm that the events are called. Are you checking the correct api references? ulobby and ulink have their references on different pages. It is true that for some events i have had to hook up myself, if an event doesnt get called, add a listener to it. https://msdn.microsoft.com/en-us/library/aa645739(v=vs.71).aspx check spelling first and such.
  • How can i change the default sql sentences? i change them in the mysqlimplementation, for instance the AddAccountCoroutine method but when i use AccountManager.RegisterAccount the user is registered just using the default sentence, how could i do to register an user with the accountmanager and also insert the user with my custom mysql sentence.
  • I got it, i just was forgetting build the lobby again

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Tagged