Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

NexusServer v2 (C++/Qt)

Newbie Spellweaver
Joined
May 25, 2011
Messages
77
Reaction score
58
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:
Newbie Spellweaver
Joined
May 25, 2011
Messages
77
Reaction score
58
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, . (incomplete, subject to change)
 
Newbie Spellweaver
Joined
May 25, 2011
Messages
77
Reaction score
58
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 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:
Newbie Spellweaver
Joined
May 25, 2011
Messages
77
Reaction score
58
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::eek:wnerid
-Fixed switching rooms, changed furniture table structure
-Cleaned up the output
-Implemented Opcode::RequestPurchaseItem
-Implemented Opcode::RequestPlaceItem
-implemented Opcode::RequestHandPage
-fixed misc bugs

And of the progress.
 
Last edited:
Initiate Mage
Joined
Oct 15, 2010
Messages
2
Reaction score
0
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.
 
Newbie Spellweaver
Joined
May 25, 2011
Messages
77
Reaction score
58
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.
 
Newbie Spellweaver
Joined
May 25, 2011
Messages
77
Reaction score
58
Update:

I've done some work on the room heightmaps, and fixed several issues. I've also set up a 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

a screenshot showing some of the new updates.
 
Last edited:
Elite Diviner
Joined
Sep 18, 2009
Messages
414
Reaction score
149
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
 
Newbie Spellweaver
Joined
May 25, 2011
Messages
77
Reaction score
58
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
:eek: thanks for checking it out. Yeah it's still really early in development but it's progressing a lot faster then the original server.


Another update to the server:

I've started implementing posters, and I've implemented spaces (wallpaper/floor). I've also fixed a few bugs with furniture and the catalog/the hand.

Here is a list of the changes:
-Fixed a few bugs
-Implemented spaces
-changed default floor/wallpaper to match the old retail style
-Fixed the hand (from spaces dev)
-Started implementing furniture DB saving, and fixed posters in the catalog
-User data is now saved to the DB when a user disconnects.
-Implemented opcodes: Opcode::RequestRenovate, Opcode::RequestEnterCreatedRoom
-Updated database structure in a few places
 
Newbie Spellweaver
Joined
May 25, 2011
Messages
77
Reaction score
58
Wouldn't be better to code in C# rather than C++?
Actually no, quite the opposite. (IMO) One of the main reasons for making this is to use C++. It's more efficient, native, and multiplatform. C# on the other hand runs on top of a virtual layer (.NET, not native) and only supports Windows (with the exclusion of mono.) It is a powerful language, but it's definitely not better than native.

Also, using Qt on top of C++ allows me to program multiplatform implementations natively, without need for platform specific code. It also allows me to utilize , which is a really good way of doing safe cross-thread calls natively.

Nice Aerospark :D

What was the hand problem?
Thanks :) The hand problem was an issue that was created when I started implementing posters/spaces. Non-poster/space items would show up as PH boxes in the hand. The server was sending the type flag incorrectly.
 
Last edited:
Newbie Spellweaver
Joined
May 25, 2011
Messages
77
Reaction score
58
New update:
I've implemented posters, and fixed them in the catalog/hand, I've also converted some misc stubs into properly implemented packets, and added some new ones.

Here is a list of the updates:
-Credits are now updated when purchasing items (but not changed)
-Implemented sending poster data when you enter a room
-Fixed the catalog
-Implemented purchasing posters
-Implemented placing posters in a room
-Clients are now told when a user leaves the room
-Implemented Opcode::RequestPosters
-Updated furniture placement packet to understand posters

Here is a screenshot showing posters:

The has been updated to the latest revision aswell.

Also, there is currently an issue with room creation--
The server crashes if you click "enter room" after creating a room, I'm not sure why, but until I fix it just click cancel at the end and then own rooms and it should work.
 
Newbie Spellweaver
Joined
May 25, 2011
Messages
77
Reaction score
58
New revisions!
I've fixed the room creation crash (though it's still not quiiite right yet with the client,) and I've fixed/implemented some more things that needed work.

Here is a list of the updates:
-Fixed hotel view disconnect crash
-Fixed room shifting (entering a new room while in one)
-Fixed room creation crash (but it's still not proper)
-Users will now be placed at the door when they enter the room.
-Fixed the "under" furniture/walls issue caused by doors
-Proper player locations are now sent when you enter a room
-Made warping pay attention to the heightmap
-Room furniture is now saved to/read from the DB when a room is unloaded/loaded.
-Furniture in a user's hand is now saved when they disconnect, and reloaded when they log in.


The has also been updated to r123. There shouldn't be any more crashes. (Though I still need to code better crash handling...)



Oh also, though I have fixed the room creation crash, it's still a bit buggy, sometimes the enter room button doesn't appear, and if it does while you are in a room, you will enter a broken version of the current room if you click it. I know what's causing this, but I haven't had time to fix it yet.
 
Newbie Spellweaver
Joined
May 25, 2011
Messages
77
Reaction score
58
Another update:

I've implemented picking up items, and posters, and fixed some issues. Also, the NexusTools server (svn, website, forums, sandbox server) seems to have disappeared. I'm not sure whats going on with it but it should be back up soon.


Until then, here is a list of the updates:
-Fixed the "Furniture is loading..." box if there is a poster in the room glitch
-Implemented picking up items
-Implemented picking up posters
-removed bool wallitem from Furniture::Furniture, it is now handled on init
-Made furniture handling more efficient. the type handling was hackey for posters (if(pnt->type=="I") -> if(pnt->wallitem))
-The hand now properly updates when placing paint/flooring
-Cleaned up the opcodes
-Fixed female figures in the console search
-Users are now properly removed from the online users list and deleted when they disconnect
-Started implementing friend requests
 
Newbie Spellweaver
Joined
May 25, 2011
Messages
77
Reaction score
58
The NexusTools webserver, svn, sandbox etc should be back online, and I've committed the updates in the previous post. (There are also some misc bug fixes in there)


I've been a bit distracted with other things lately, and with the webserver being down, but development should resume again over the next few days.
 
Newbie Spellweaver
Joined
May 25, 2011
Messages
77
Reaction score
58
Another update:

I've fixed a few bugs, and started implementing some of the pathfinding logic. I've also implemented a temporary "fuse string" system, this allowed me to implement things like waving and carrying drinks (temporary, incomplete)

Here is a specific list of the updates:
-Implemented temporary fusestring system
-Implemented waving (incomplete)
-Implemented drinks (incomplete)
-Implemented proper rotation on warp in prep for pathfinding
-Started implementing room modification
-Implemented room searching
-Implemented opcodes:
Opcode::RequestCarrayItem, Opcode::RequestWave, Opcode::RequestModifyRoom and Opcode::RequestSearchRooms
-Committed updates since server downtime

The has also been updated to revision 137.


Sorry development has been slow lately, I've had a lot more "on my plate," but I don't plan on stopping development on this.
 
Elite Diviner
Joined
Sep 18, 2009
Messages
414
Reaction score
149
I missed your updates already! Great! Keep it up mate! Also, the fuse string system, how does it work? Sounds interesting.
 
Back
Top