[Development] 5517 PVP Source

03/14/2012 00:35 _DreadNought_#16
Quote:
Originally Posted by Korvacs View Post
Personal preference resulting in poor performance and security flaws makes your choices poor, sorry that's just a fact - it has nothing to do with my opinion.
There isnt a performace gain in splitting them afaik, Security issue, if nothing its more secure ;O

Please elaborate :)
03/14/2012 07:15 I don't have a username#17
Quote:
Originally Posted by _DreadNought_ View Post
afaik your auth and gameserver arent split, so shh.
Mine are split lol, just not hosted on two servers.
03/14/2012 09:21 Korvacs#18
Quote:
Originally Posted by _DreadNought_ View Post
There isnt a performace gain in splitting them afaik, Security issue, if nothing its more secure ;O

Please elaborate :)
Theres a performance gain from using a managed database over a flatfile database, and there are security issues with keeping them as 1 application, namely that its MUCH easier to flood and crash both auth and game servers.
03/14/2012 17:36 _DreadNought_#19
Quote:
Originally Posted by Korvacs View Post
Theres a performance gain from using a managed database over a flatfile database, and there are security issues with keeping them as 1 application, namely that its MUCH easier to flood and crash both auth and game servers.
Sorry I confused myself, It was roughly 4am when I typed that response, You are right there most certiantly is a performance gain from using a managed DB over a flatfile DB, I do agree, Should I ever make this source into a fully functional server, Upgrades to MySQL will be added and applied within a day, its not a problem.

Right right, You didnt go in depth as for security flaws into keeping them as one application, flooding I do agree, but if the auth server gets flooded, nobody can login, but the game server stays alive, if the game server get crashed the auth server is uesless.

Keeping them as one will most likely cause both to crash should one get crashed, but even if theyre split, no point having a gameserver up if the authserver is dead, and no point having a authserver up if the gameserver is dead.

Forgot to update the main post, I'll do it later, working on screening right now, have a few issues.

Basic chatting is now done(Talk and world) Screening is almost complete(as I said, a couple spawning issues), Walk/Jumping is done, including steed walking(tested the coord calculations on an old source, I know it works, will double check when I get to the steed stage) I am to complete spawning today, NPCs, Actions, Changing directions etc.

Regards,
Dread
03/14/2012 18:48 I don't have a username#20
As for database, I would recommend Mssql, but that's because I like it better than Mysql, I never used mssql in the source I did, tho my new source will have full mssql wrapper, if you want to take a look on it, I'll let you. Flatfile is sure fast and everything, until you get a lot of players and want to save/load on cross of each other, it will be pretty slow with a lot of files and such. It's most likely a lazy issue to go with them :P

As for splitting them you could make sure one is never closed permanent (Unless it's down, because of flood lol.) by doing a process check, if the one is closed, then open it and the other way around, if you get me.
03/14/2012 19:00 Korvacs#21
Keeping them separate has other advantages security-wise depends how determined you are really, potentially if your auth/game server went down you could have redundant servers to replace them, if they were split this would be much simpler to manage.

Not to mention the possibility of having 50 game servers in a cluster acting as a single game server. Now that would be the embodiment of redundancy.
03/15/2012 23:50 _DreadNought_#22
Main post updated.

Progress:
16/13/2012-03:55am
Next to do: Items! Equipment and Inventory saving/loading!

Expected to be done by: ~2Days(Probably sometime tomorrow near midnight or early Saturday morning -- Got too much time on my hands)

#edit
Just noticed my message colours dont work for me, and not for Jose either, has anybody else patch 5517+ managed to get the colours of messages working?
03/16/2012 07:57 Nullable#23
Aside from what Korvacs has already mentioned, the server is pretty much just another low-performance server that will be abandoned in less than two weeks, even after you switch to MySQL, that is if you even made the transition correctly without losing control over the source code. Everyone keeps doing the EXACT same mistake over and over.

IMHO, from personal experience, every single project that wasn't designed correctly beforehand and implemented by the rules set in the design eventually causes its developers to crack and abandon it. This is exactly the reason why CPX didn't make it, Ali and I rushed through it because we were too enthusiastic about it. However, as expected, it started to rot and after a while it would take me at least 10 minutes of skimming through the source code to find what I'm looking for.

To sum it all up, entropy simply arises when it comes to software engineering, you ARE going to lose control after a while, and then again it's another abandoned project. Actually take your time to design the system as a whole first keeping in mind the limitations set by the language and the libraries available, then start working on it.
03/16/2012 17:50 _DreadNought_#24
Quote:
Originally Posted by Nullable View Post
Aside from what Korvacs has already mentioned, the server is pretty much just another low-performance server that will be abandoned in less than two weeks, even after you switch to MySQL, that is if you even made the transition correctly without losing control over the source code. Everyone keeps doing the EXACT same mistake over and over.

IMHO, from personal experience, every single project that wasn't designed correctly beforehand and implemented by the rules set in the design eventually causes its developers to crack and abandon it. This is exactly the reason why CPX didn't make it, Ali and I rushed through it because we were too enthusiastic about it. However, as expected, it started to rot and after a while it would take me at least 10 minutes of skimming through the source code to find what I'm looking for.

To sum it all up, entropy simply arises when it comes to software engineering, you ARE going to lose control after a while, and then again it's another abandoned project. Actually take your time to design the system as a whole first keeping in mind the limitations set by the language and the libraries available, then start working on it.
If my database options are so incredibly poor(which seems to be your main point) why would one of the best(imo) coders in the entire co2 community use it? Everybody who creates a source has to adapt it later on for one reason or another, whether it be removing, changing or adding something, I simply said should it be required that a database upgrade is required I will step up to mark and implement that, My source is incredibly organized thank you very much.

But I do appericate your criticism, thanks.

Going to start on Items and inventory now.. :)

#edit
Oh and, if you think i've rushed it as ive made that much progress in such short time, I've been coding from around 3pm to 5am almost everyday. :)
03/16/2012 18:05 hunterman01#25
Quote:
Originally Posted by _DreadNought_ View Post
#edit
Oh and, if you think i've rushed it as ive made that much progress in such short time, I've been coding from around 3pm to 5am almost everyday. :)
/Commited
03/16/2012 18:20 Ultimation#26
ok ok ok ladies.

From my expierence with AcidCO, it was initially created with a flat file system, and i personally found that performance was ALOT faster using flatfile systems. how ever i then moved it to mysql (why? you might ask) the reason being, flat file is fast and everything but its very difficult to manage and maintain, say i wanted to update a certian value over all players, i would probably have to write a batch script or small application to go through each players file and update that file. However mysql being a SQL engine i could easilly update all players with 1 query.

So my conclusion: Flatfile > mysql with performance
Mysql > flatfile for maintaining.

Regards

Ulti.
03/16/2012 18:45 KraHen#27
MySQL is a flatfile database too. If you don`t use the .NET Connector, the performance is way better as well.
03/16/2012 19:35 Ultimation#28
agreed :)
03/16/2012 19:54 Nullable#29
Quote:
Originally Posted by _DreadNought_ View Post
If my database options are so incredibly poor(which seems to be your main point) why would one of the best(imo) coders in the entire co2 community use it? Everybody who creates a source has to adapt it later on for one reason or another, whether it be removing, changing or adding something, I simply said should it be required that a database upgrade is required I will step up to mark and implement that
You're totally missing my point. I'm not talking about advantages/disadvantages of choosing a technology over another. Practically speaking the only VALID answer to such a problem is... it depends on the problem.

Quote:
Originally Posted by _DreadNought_ View Post
My source is incredibly organized thank you very much.
Keep trying to convince yourself that.


How do you define organization? Actually, let me rephrase that question into a statement, just to put the message out there.
If your server contains a Kernel/Core/Whatever "God" class; you're fucked, gg.

Quote:
Originally Posted by _DreadNought_ View Post
Oh and, if you think i've rushed it as ive made that much progress in such short time, I've been coding from around 3pm to 5am almost everyday. :)
Alright, hats off for your hard work and dedication, and realize that I'm simply throwing some pieces of advice your way. Whether you accept them or not is your problem, not mine. Good luck.


P.S: Software design, GoF Design Patterns
03/16/2012 21:33 _DreadNought_#30
Quote:
Originally Posted by Nullable View Post
You're totally missing my point. I'm not talking about advantages/disadvantages of choosing a technology over another. Practically speaking the only VALID answer to such a problem is... it depends on the problem.


Keep trying to convince yourself that.


How do you define organization? Actually, let me rephrase that question into a statement, just to put the message out there.
If your server contains a Kernel/Core/Whatever "God" class; you're fucked, gg.
Organiztion is different for every person; One source someone can think is the most organized thing in the world, others can thinks its a diaster.


Alright, hats off for your hard work and dedication, and realize that I'm simply throwing some pieces of advice your way. Whether you accept them or not is your problem, not mine. Good luck.Thank you and thankyou.


P.S: Software design, GoF Design Patterns
I'll check those links out.