NexusServer v2 (C++/Qt)

Page 2 of 5 FirstFirst 12345 LastLast
Results 16 to 30 of 71
  1. #16
    Atomic Developer lab-hotel is offline
    MemberRank
    Apr 2007 Join Date
    261Posts

    Re: NexusServer v2 (C++/Qt)

    I like it. By the way:
    - DU is an encryption related packet. On < 26 there are two Boolean values that indicate if the encryption will be used on server > client and the other is for client > server. On v26, the second bool was removed.
    - @H // available sets
    - DA // session parameters
    Posted via Mobile Device

  2. #17
    Member Aerospark is offline
    MemberRank
    May 2011 Join Date
    Canadia LandLocation
    90Posts

    Re: NexusServer v2 (C++/Qt)

    Quote Originally Posted by Jonteh View Post
    Then why don't you go back in time and delete all your old fake development threads on your countless other accounts?

    Ontopic;

    Looks good. Any hope to support the newer habbo versions?
    The server is programmed to easily add new protocols in the future, but I plan on getting the shockwave one at least close to fully implemented before starting that. The previous server actually had both protocols functioning with basic rooms and pathfinding and furniture/etc, but right before I was about to release they made that protocol update...


    Quote Originally Posted by lab-hotel View Post
    I like it. By the way:
    - DU is an encryption related packet. On < 26 there are two Boolean values that indicate if the encryption will be used on server > client and the other is for client > server. On v26, the second bool was removed.
    - @H // available sets
    - DA // session parameters
    Posted via Mobile Device
    Thanks, I didn't know that had to do with encryption :o, well I guess it'l stay stay static for now.


    Oh also, if nobody noticed I've added a new video to the first post showing additional progress, im working on finishing the room->user handling and once I'm done that I'll probably move on to pathfinding.
    Last edited by Aerospark; 06-01-12 at 10:51 PM.

  3. #18
    Member Aerospark is offline
    MemberRank
    May 2011 Join Date
    Canadia LandLocation
    90Posts

    Re: NexusServer v2 (C++/Qt)

    Multiuser packet broadcasting has just been implemented (thanks to Ktae) and I've implemented chatting/shouting/whispering. A simple instant warp feature for movement has also been implemented before pathfinding. The pathfinding logic is written, but I want to get it implemented into the server properly using the task system.


    Also on a little side note: I did some early stress testing with the new server and it looks promising, I had ~400 clients last night in one room saying random messages and the server was using 9mb ram and ~15% cpu in a single core XP VM (in task manager).
    Last edited by Aerospark; 08-01-12 at 09:49 PM. Reason: implemented warping

  4. #19
    Alpha Member Caustik is offline
    MemberRank
    May 2011 Join Date
    LondonLocation
    1,837Posts

    Re: NexusServer v2 (C++/Qt)

    Looks good Aero :D
    Are you using any QT wrappers for the socket connections? (C++ sockets are a pain in the ass imo)

  5. #20
    Member Aerospark is offline
    MemberRank
    May 2011 Join Date
    Canadia LandLocation
    90Posts

    Re: NexusServer v2 (C++/Qt)

    Quote Originally Posted by Caustik View Post
    Looks good Aero :D
    Are you using any QT wrappers for the socket connections? (C++ sockets are a pain in the ass imo)
    Yes actually, we are using QTcpSocket to handle that stuff in sockettracker.cpp if you want to take a look at how. NexusServer2 should be completely multiplatform (that is anything that supports Qt.)

    I've also just made an additional video showing some of the early stress testing, and an issue I need to figure out with the task system. The memory usage is slightly higher than before because it's actually handling them correctly now, but nothing substantial.
    Last edited by Aerospark; 09-01-12 at 12:34 AM.

  6. #21
    swagggggg Livar is offline
    MemberRank
    Oct 2008 Join Date
    United KingdomLocation
    2,272Posts

    Re: NexusServer v2 (C++/Qt)

    Good luck with this matey.

  7. #22
    Member Aerospark is offline
    MemberRank
    May 2011 Join Date
    Canadia LandLocation
    90Posts

    Re: NexusServer v2 (C++/Qt)

    I've updated a few things, but I've been stuck on one navigator packet. It seems to be structured perfectly, but it's not working... So I've decided to move on to the FurnitureCore for now, because the navigator works enough to get into rooms. I've also made some progress with the messenger/console.

    Here are the recent changes:
    -Implemented Opcode::InitMessenger (needed for the messenger/console)
    -Hackey (but perfect?) club clothing implementation (club outfits now available)
    -Created table ProfileOverrides (for FurnitureCore)
    -Added 5 more threads to the default task system size
    -Started implementing Opcode::RequestSearchUsers
    -Started implementing FurnitureCore.cpp&.h
    -Clients are now removed from their current room when they enter a new one

    I plan on having the default shockwave furniture data automatically loaded into the server from code, and also load a table from the database to add to/override that data. That way it will always work, and still be easily modifiable.
    Last edited by Aerospark; 12-01-12 at 01:32 AM.

  8. #23
    Alpha Member Moogly is offline
    MemberRank
    Feb 2008 Join Date
    Pool LidoLocation
    2,322Posts

    Re: NexusServer v2 (C++/Qt)

    I have a native C++ Encoding from JoeH (who wrote the class in C#) for both Native and CLI C++ also debug names for headers (feel free to use as method names):

    http://forum.ragezone.com/4337199-post7.html

  9. #24
    Member Aerospark is offline
    MemberRank
    May 2011 Join Date
    Canadia LandLocation
    90Posts

    Re: NexusServer v2 (C++/Qt)

    Quote Originally Posted by Moogly View Post
    I have a native C++ Encoding from JoeH (who wrote the class in C#) for both Native and CLI C++ also debug names for headers (feel free to use as method names):

    http://forum.ragezone.com/4337199-post7.html
    Thanks, but I've already got the encoding ported.


    I've decided to take another break from this horrible navigator packet and move onto the catalog for a little bit. I wrote a parser to convert from the old db format to the more standardized new one, and I've started implementing the catalog. I also just added a new progress video to the main post.

    Also, if anyone is interested in looking at the catalog SQL, here it is. (incomplete, subject to change)

  10. #25
    Member Aerospark is offline
    MemberRank
    May 2011 Join Date
    Canadia LandLocation
    90Posts

    Re: NexusServer v2 (C++/Qt)

    BIG update, multiple issues that have been haunting me for days have just been solved.

    The navigator should now be fully implemented (excluding room search, but thats not hard,) and the catalog now works.

    It's annoying when you spend hours tweaking a packet and making it perfect because it's not working, and it turnes out to be something unrelated...


    Here is a list of the changes:
    -Fixed the navigator packet :'D
    -Implemented FurnitureProfile, FurnitureCore, fixed the "DG" stub
    -Fixed the catalog :U (added a few new stubs)
    -Implemented console searching
    -Implemented Opcode::RequestCatalogPages
    -Implemented Opcode::RequestCatalogPage
    -Implemented Opcode::RequestAdditionalRoomData
    -Started implementing Opcode::RequestPurchaseItem
    -Added catalog data to the DB

    And here is a screenshot showing what I'm talking about.

    I'll be moving on to either completing the console/messenger and the catalog next, and the hand (though I remember the packets for that being... odd.)
    Last edited by Aerospark; 14-01-12 at 02:59 AM.

  11. #26
    Member Aerospark is offline
    MemberRank
    May 2011 Join Date
    Canadia LandLocation
    90Posts

    Re: NexusServer v2 (C++/Qt)

    Another BIG update:

    I've finished the catalog and the hand, and I started work on furniture. Users can now see, purchase, and place items in their rooms. It's fairly basic for now. The next step is to implement proper item stacking and DB saving, if you are interested in testing this you can give your account credits by sending the server PAXiA a few times. (for debugging, will be removed in the release.)

    A more specific list of the changes:
    -Started implementing furniture
    -Perfected the hand (w/ pages)
    -Implemented Packet::appendTabString, Packet::appendCarriageString, Packet::appendTaggedString, and integrated them into Protocol
    -Implemented Room::ownerid
    -Fixed switching rooms, changed furniture table structure
    -Cleaned up the output
    -Implemented Opcode::RequestPurchaseItem
    -Implemented Opcode::RequestPlaceItem
    -implemented Opcode::RequestHandPage
    -fixed misc bugs

    And here is a screenshot of the progress.
    Last edited by Aerospark; 14-01-12 at 11:33 PM.

  12. #27
    Novice Jost1 is offline
    MemberRank
    Oct 2010 Join Date
    Santiago de ChiLocation
    3Posts

    Re: NexusServer v2 (C++/Qt)

    It would have been better to have a table in the database for basic data are stored furniture and thus avoid the shots from the packetlogguer. Also the idea occurred to me to be a vulnerability within Debbo Project.
    Sorry if not fully understood using google translate.

  13. #28
    Member Aerospark is offline
    MemberRank
    May 2011 Join Date
    Canadia LandLocation
    90Posts

    Re: NexusServer v2 (C++/Qt)

    Quote Originally Posted by Jost1 View Post
    It would have been better to have a table in the database for basic data are stored furniture and thus avoid the shots from the packetlogguer. Also the idea occurred to me to be a vulnerability within Debbo Project.
    Sorry if not fully understood using google translate.
    If you're referring to the profiledb << new FurnitureProfile stuff, there is a static unmodifiable list of the regular furniture data loaded into the server when it initializes from code, and then loads a db table for additions/overrides. This ensures faster performance (significantly less SQL queries) and makes it so the DB can be created by the server, but still allows users full control over the content via the SQL DB.
    I've also done some basic testing with my packet logger and it doesn't seem possible (so far) to purchase something that isn't in the catalog.



    The first post has just been updated with a new video of progress.

  14. #29
    Member Aerospark is offline
    MemberRank
    May 2011 Join Date
    Canadia LandLocation
    90Posts

    Re: NexusServer v2 (C++/Qt)

    Update:

    I've done some work on the room heightmaps, and fixed several issues. I've also set up a testing sandbox on the NexusTools server. (Linux Ubuntu 11.10 x64)

    Here is a specific list of the updates:
    -Fixed furniture placement
    -Implemented furniture movement/rotation
    -Implemented item signatures
    -Fixed a few things
    -Implemented furniture stacking
    -Fixed multiplatform compiling
    -User data is now saved to the db when the user disconnects
    -new opcodes: Opcode::RequestSignItem, Opcode::RequestMoveItem

    Here is a screenshot showing some of the new updates.
    Last edited by Aerospark; 18-01-12 at 05:49 PM.

  15. #30
    son, i am dissapoint Near is offline
    MemberRank
    Sep 2009 Join Date
    The NetherlandsLocation
    491Posts

    Re: NexusServer v2 (C++/Qt)

    I've been testing it out and it's awesome! Still a lot of work that's needed but it's quite the thing! I'm excited! :D



Page 2 of 5 FirstFirst 12345 LastLast

Advertisement