|
You last visited: Today at 22:52
Advertisement
[Dev] Hellmouth Revival
Discussion on [Dev] Hellmouth Revival within the CO2 Private Server forum part of the Conquer Online 2 category.
09/20/2010, 13:19
|
#61
|
elite*gold: 0
Join Date: Jun 2009
Posts: 787
Received Thanks: 314
|
Don't worry about memory usage, loading a database means you're loading... data.
If you do intend to not load all stats for "statless" items, make sure you leave pots out of that (or make a new category) so you can read the healhp/mp values.
|
|
|
09/20/2010, 20:03
|
#62
|
elite*gold: 21
Join Date: Jul 2005
Posts: 9,193
Received Thanks: 5,380
|
Thanks again saint. I'm not overly worried about memory usage, was just thinking about it some as I just noticed how seemingly much ram it's using for so few features.
That being said I just tested and it seems that loading full itemtype is only using maybe 2mb or so of ram (makes sense seeing as the text file is probably near that lol)
Just thinking of ways that I can use to keep ram usage down as I continue. I just checked though and almost ALL of it is based on dmap usage right now lolz!
Ram usage w/ dmaps and itemtype: ~170 mb
Ram usage w/ dmaps only ~169 mb
Ram Usage w/ itemtype only ~ 23 mb
So yahhh... Korvs dmap system is what's using almost all of the ram ahaha. Maybe someday if I'm bored I'll write my own dmap system... for now his is amazing so I'll just stick w/ it.
Item Eq/UnEq handler added
It's far from finished (not currently calculating item slot based on id or running any server side checks... but it works!)
Also made a super boring video showing the npc scripting and some minor features (give people an idea of how our scripting works...)
CLOSED BETA SIGNUPS WILL BE UP WITHIN A WEEK OR TWO!
Members of closed beta will be able to log on the test server for TESTING (this will NOT be a finished game, you should NOT expect there to be much to do as far as 'playing'. IF you are accepted you are there because you want to help with the project. This includes but is not limited to...
Adding npcs
Adding monsters
Coding npcs
Testing features as we add them
Reporting bugs with features (old and new)
Providing suggestions about where server should go in relation to where it currently is
That being said there will be lots of features coming down the pipe to test and before we ever do beta we will hopefully have basic stuff such as attacking and skill usage done... so maybe I'll throw together a 1v1 dueling room like I had before for people to play around with ^^
|
|
|
09/20/2010, 20:34
|
#63
|
elite*gold: 0
Join Date: Oct 2009
Posts: 768
Received Thanks: 550
|
Quote:
Originally Posted by pro4never
Ram usage w/ dmaps and itemtype: ~170 mb
Ram usage w/ dmaps only ~169 mb
Ram Usage w/ itemtype only ~ 23 mb
So yahhh... Korvs dmap system is what's using almost all of the ram ahaha. Maybe someday if I'm bored I'll write my own dmap system... for now his is amazing so I'll just stick w/ it.
|
No use to load all dmaps, no use at all...
Even so, the reason why I tell you to stick to his dmap system is because it includes the scenes(in other words, it includes the bridges).
My dmap system unfortunately doesn't include the scenes, but, I only load the dmap when it's needed.
If a player goes on an unloaded map, it automatically loads the dmap, as my whole map class is based on the dmap and without the dmap loaded, it won't work ... I think I'll just take korvacs' scene loader.(One more thing on my not ending list lol).
I like to load the dmap only when needed because to load it, it will take less than 1 second, and the player won't even notice that the map wasn't even loaded...
I think I just wrote there some sentences that doesn't go along with each other, but meh, no need to repair lol.
|
|
|
09/20/2010, 20:48
|
#64
|
elite*gold: 21
Join Date: Jul 2005
Posts: 9,193
Received Thanks: 5,380
|
Quote:
Originally Posted by -impulse-
No use to load all dmaps, no use at all...
Even so, the reason why I tell you to stick to his dmap system is because it includes the scenes(in other words, it includes the bridges).
My dmap system unfortunately doesn't include the scenes, but, I only load the dmap when it's needed.
If a player goes on an unloaded map, it automatically loads the dmap, as my whole map class is based on the dmap and without the dmap loaded, it won't work ... I think I'll just take korvacs' scene loader.(One more thing on my not ending list lol).
I like to load the dmap only when needed because to load it, it will take less than 1 second, and the player won't even notice that the map wasn't even loaded...
I think I just wrote there some sentences that doesn't go along with each other, but meh, no need to repair lol.
|
Yuppp I'm well aware of the .scene problem which is actually why I'm using his loader ahah. I would be doing the same thing, loading dmaps only when in use and clearing them from memory when empty but for now this is a workable option. It's not like my memory usage is running wild by any means lol!
<edit>
Item database functions added.
Drop/Loot items added (need to update my spawn all so that players moving around will see the new item also)
Maps updated so that they have enums for weather, pktype, skillusage and some other stuff like that for easy checks in future.
Proper item floor handling (add/remove from both client inventory, database and floor dictionary). Needs item spacing check (random drop radius, if all floor locations full, do not drop).
Needs item removal after timeout (all coded, just need my server tools thread to actually handle it)
|
|
|
09/21/2010, 15:46
|
#65
|
elite*gold: 21
Join Date: Jul 2005
Posts: 9,193
Received Thanks: 5,380
|
Wow so all my issues I was having with not being able to make other clients perform actions on my screen... lets just say I'm a COMPLETE idiot... Forgot that the spawn packet I was using was my test one to find offsets (I was generating a random uid each time in order to test things)
Obviously now that I've fixed that everything else went SO much easier (was driving me nuts, I could make fucking npcs walk but not players lol)
Jump Finished
Walk Finished
Ground item spawning Finished
Player removal finished
Show gear on login finished
Show other gear on spawn finished
So I'm debating between less work now or shit ton later... 5310 has been released by tq and contains some interesting looking stuff (their version of tpkt, new mobs, etc). From what I saw on my proxy only a few packets have changed... I'll probably update my source to 5310 and then 'lock' it at that patch for now unless something really awesome gets released.
It's not a hard question to answer... I just really hate structuring packets sometimes lol and the thought of going through entity spawn and hero info again really makes me not happy ^^ Sooo many offsets to test.
WHAT SHOULD BE DONE BEFORE CLOSED BETA
What do you guys want to see finished/functioning before we do our beta test? It will obviously not be a fully playable server... but what things would you expect to see?
Beta hopefully will be ready in a couple weeks but alot of that depends on what we're aiming for. I'm thinking if I finish up just a few more things we can justify letting a few people on to test, place npcs, place monster spawns... etc.
Mostly I just want to:
finish up system for monsters: spawn, move, attack.... BASIC
Load itemtype: Slot calculations for eq, stat calcs
Attack/skills: BASIC. Calcs don't need to be perfect but simple skills like fb/ss should be 'functional'
Update entity packet: Just need to implement, already logged but obviously I need to be able to change char stats on the fly
More 'advanced' things like actual game systems will come during closed beta, once we get the main features done (trade, guilds, shops, stalls, friend/enemy/trade partner, item lock, etc) we will do a public beta where we start adding CONTENT (events, more monsters, pve bosses, custom game systems). Once we get everything fully stable and the way we want them we will do the final server launch (thinking New year)
Opinions?
Pro4Never
|
|
|
09/21/2010, 16:40
|
#66
|
elite*gold: 20
Join Date: Mar 2006
Posts: 6,126
Received Thanks: 2,518
|
Dunno what mode your loading the dmaps in, if you use default fully loaded its 35mb.
|
|
|
09/21/2010, 18:19
|
#67
|
elite*gold: 21
Join Date: Jul 2005
Posts: 9,193
Received Thanks: 5,380
|
Quote:
Originally Posted by Korvacs
Dunno what mode your loading the dmaps in, if you use default fully loaded its 35mb.
|
:O same way I've always used the default settings for your dmap system.
public static DMapServer DmapHandler = new DMapServer();
Code:
DmapHandler.ConquerPath = Application.StartupPath + @"\map\";
DmapHandler.Load(true);
Commenting out DmapHandler.Load ~23Mb
NOT loading height info ~ 150Mb
Loading height info ~ 173Mb
Keep in mind I'm currently using a up to date GameMap.dat from current client so it's loading ALL maps and alot more than some earlier patches... still seems maybe excessive?
I'll dump the gamemap later and just add in the maps I wanna use. No point loading stuff I'm not.
Status update packet now coded. Working on server tools thread (thanks to impulse for clearing up my thoughts on how to work my threading. Still avoiding thread per client at all costs) which will handle all updates to client.
<edit>
Updates handled much better now.
more gen data subtypes handled (Action, Direction, etc)
Basicly doing something like...
Client.Money += X;
Now updates database (only the x field, not full save) and sends the client an update packet updating it's inventory.
doing Client.Status += or -= changes the status flag for it and sends to LOCAL clients (yourself included).
Next up... Threading for things like stamina gain, xp bar boost and then I'll work on basic attack/monster spawns.
Adding commands as I go such as /job xx
<edit>
Status Updates: 99%
Unless I find any bugs, everything works PERFECTLY.
I'm actually shocked I've never seen this done on a server before *drool*.
Not going to go into my method for adding/removing statuses but yah... it works VERY well and as far as I can tell is very efficient (the only checks done are on things already active, no useless checks vs statuses that don't concern you).
When adding status effect the surrounding players see it, when removing it, they no longer see it, when jumping on screen they see existing effect.
They are only sent/removed once. No mixups, no messes.
Thread System:
So I've checked my threads, realized I was causing a very minor memory leak, fixed that.
As it sits right now I have 2 player tools threads on the server.
Thread 1: Status effects
Removes effects from clients assuming they have some activated that need to be removed: Not checked at all if you don't have any active, only checks ones you have active currently.
Thread 2: Player Utility functions
Adds stamina
Adds XpPct
Removes PkPts
Will also handle character attacking (or maybe I'll use thread 1 for that as I'm trying to keep fast stuff in 1 thread, slow stuff in another)
Server coming along nicely.
ItemType handling and attacking and we may be ready for Closed beta
<edit>
Some screenies of random status effects in new clients...
#SparkleHalo ftw!
<Note>
Coded packet fully for showing stats beside inventory (min/max atk all the way up through all the new item effects... Crit chance, detox %, etc) Will link with actual values later.
|
|
|
09/22/2010, 19:49
|
#68
|
elite*gold: 0
Join Date: Jul 2006
Posts: 2,216
Received Thanks: 794
|
I like your enthusiasm, and it seems that the development is pretty fast  Thumbs up from me
|
|
|
09/24/2010, 00:44
|
#69
|
elite*gold: 21
Join Date: Jul 2005
Posts: 9,193
Received Thanks: 5,380
|
MACHINE ARRIVED
So I'm no longer using my old laptop for development as my new server machine arrived today and my ***... it's one sexy beast.
First lemme just say my favorite bit...
28 inch 1080p monitor *drool* (I have my old 17 inch one I had back @ home for dual screen)
But yah stats are.
I7 930 (quad core 2.8ghz)
Sabertooth x58 Mobo
8 gig ram
Geforce GTS 250 (I don't really do much gaming so went with budget card)
60 gig high speed ssd drive
TB storage drive (I have a 2nd tb drive I may try to reformat and see if it still works. Don't really need it though)
So yah.. this is what I'll be using for the rest of the server development as well as hosting the closed beta (until we need a proper vps due to poor dsl upload rates I currently have)
This means more development will be quicker as I won't be fighting with my pos laptop all the time.
<Excuse the fugly walls. Student housing ftl>
New features coded:
-Added removal of items from ground when they reach 'timeout'
-Remove items from local client screen when this happens
-Improved handling of entity statuses. (removing from dict while it's enumerating = bad idea lol! Simple fix, just had my code mixxed around)
QUESTION:
I have itemfloor working but I'm just wondering... what's an efficient way to handle these sorts of timed events (eg, removing item X after Y ms) currently I'm using a groundfloor thread to cycle through maps and their items to check for removal conditions which seems... a waste but what other options do I have? The only one I can think of is like a timer which would remove from map/clients when elapsed but running possibly thousands of timers seems.. less than ideal.
Suggestions appreciated.
|
|
|
09/24/2010, 01:45
|
#70
|
elite*gold: 20
Join Date: Apr 2008
Posts: 2,281
Received Thanks: 913
|
Sexy ;D
|
|
|
09/24/2010, 08:13
|
#71
|
elite*gold: 21
Join Date: Jul 2005
Posts: 9,193
Received Thanks: 5,380
|
In the process of upgrading to patch 5310. Surprising amount of packets changed :S
Got spawn npc, spawn player and char info packet working again. In the process of re-coding my item use code (equip/unequip) it will be the full system when done.
Also done minor work on getting npc scripts back online. (very little done there, just changed my packet types, seems that maybe only the npc request packet changed?) I'll look at it tomorrow.
CLIENT WILL BE LOCKED AT 5310! we will not be upgrading past this assuming there is not some big update we wish to take advantage of.
<edit>
So once the packets are updated and I have time to work on the core features again... I will be DRASTICALLY improving my item floor handling through the use of queues. <3 Fifo systems!
|
|
|
09/24/2010, 10:08
|
#72
|
elite*gold: 0
Join Date: Oct 2009
Posts: 8,783
Received Thanks: 5,304
|
Update and bump.
Back in this project.
|
|
|
09/24/2010, 18:31
|
#73
|
elite*gold: 21
Join Date: Jul 2005
Posts: 9,193
Received Thanks: 5,380
|
Thanks to arco, our monstertype, monster spawn and npc database has been populated (just needed someone to convert/sort through a decent database)
|
|
|
09/24/2010, 19:07
|
#74
|
elite*gold: 20
Join Date: Apr 2008
Posts: 2,281
Received Thanks: 913
|
Gimme an email, I can help with programming or database issues.
|
|
|
09/24/2010, 20:23
|
#75
|
elite*gold: 21
Join Date: Jul 2005
Posts: 9,193
Received Thanks: 5,380
|
Quote:
Originally Posted by kinshi88
Gimme an email, I can help with programming or database issues.

|
Thanks for the offer, you're on my msn already btw.
Npcs
Fully implemented the npc dump that Arco converted. They're all placed nicely now ^^
Updated/fixed the npc packets for 5310 (not sure what exactly changed... it works again now, could be I just screwed up my handler)
Npc Creation Tool:
Schmitdy has been doing a ton of work and it's almost ready for a preview
First release from project indigo! Excited? ^^
Gears:
Should be 'done' today. Stat calculations may take some time to tweak and error check but I should have all the checks in place and packet handling done within the next couple hours.
Stats:
-Base item stats add properly now (min/max atk and pdef are all that's coded. Others are loaded from itemtype already, just have no use for them)
<Update>
Equip/unequip item 80%
-Adds/removes from client dict (checks for validity)
-Updates screen, equipment window and local clients
-Updates database for item positions.
ItemHandling:
-Added UPDATEITEM database functions. Updating single fields vs dumping entire item structures back into it. Much simpler and more efficient.
Item Floor:
DONE! Adding/removing using a lovely queue system! Soooo much more efficient than what I've seen done in other sources fifo system to check items dropped vs if they have been looted or their drop time has elapsed. If so remove from client screens and dequeue ^^
CLOSED BETA
We area nearly ready! Just a few more fixes, updates and improvements to make. Those wishing to join the closed beta should Pm me with.
-Name
-Msn/e-mail
-Programming experience
-Desired way of helping (members will be expected to CONTRIBUTE, not just log on and go "ooohh shiny!". This can include adding npcs, mob spawns, bug reports, suggestions, graphic design/website, coding, etc)
-Availability
I will most likely just throw up hamachi for the first little bit of the closed beta so I don't need to muck around with port forwarding (which also ensures that only closed beta accts can even TRY to connect)
Closed beta website will be up soon after
Once initial testing and fixes are done, we will start accepting more members to the closed beta and throw it on a vps for the remainder of the testing period. Closed beta will most likely last 1-2 months depending on how quickly it progresses.
|
|
|
Similar Threads
|
HellMouth Client
02/18/2011 - CO2 Weapon, Armor, Effects & Interface edits - 17 Replies
Basically I've done the client for HellMouth and would like some feedback and some input to what can be done to improve it. The logo is already going to be removed since its blurry.
Thanks.
http://i47.tinypic.com/2i1h0km.png
## Updated
-Removed Logo
-Added new background to top and bottom
I'm happy with what it has turned out as.
|
All times are GMT +1. The time now is 22:53.
|
|