Advice about an lets say "clean" source

10/30/2012 19:00 mujake#1
By clean i mean some stability and i don't want many features. More like the original 5165 released by impulse.More exactly i am looking for basic server but with an reborn system working., cuz it seems like an deep coding stuff for someone new to this stuff, i can code small things like npc , some quests even more complex stuff but it takes time and even more when your doing it firstly...
10/30/2012 20:46 Spirited#2
No source currently public is truly "clean" or without bugs. Every single source out there has a bad problem with disconnecting clients. They don't handle the client socket correctly and it can cause the disconnection method to be invoked twice. Also, the way they handle packets could cause issues (because most of them don't address packet fragments). I recommend you do something else until you feel comfortable enough to make your own or fix one up yourself. Impulse's 5165 base source is decent, but has its issues. Hybrid (ImmuneNoone)'s basic source is also pretty decent (but also has its issues despite being labeled as bugless). I'm assuming you already saw my thread about the sources here. Hopefully you get where I'm going with this. Good luck.
10/30/2012 21:57 I don't have a username#3
Quote:
Originally Posted by Fаng View Post
No source currently public is truly "clean" or without bugs. Every single source out there has a bad problem with disconnecting clients. They don't handle the client socket correctly and it can cause the disconnection method to be invoked twice.
Why are you saying such things? There is sources that handles that correct and also sources released. There is base sources that are almost bug free eg. Hybrids 5017 (As well the C++ version of it) and disconnect event twice is easy to fix.

Also I'm prety sure Bone-yous C++ source is handling such things correct and it should be pretty basic as well.

Code:
if (alreadyDisconnected)
return
alreadyDisconnected = true;
/fixed
10/30/2012 23:04 Spirited#4
Quote:
Originally Posted by I don't have a username View Post
Why are you saying such things? There are sources that handle that correctly, which are also public sources. There are base sources that are almost bug-free; eg. Hybrids 5017 (As well as the C++ version of it). The disconnect event being invoked twice is an easy problem to fix.

Also, I'm pretty sure Bone-you's C++ source is handling such things correctly and it should be pretty basic as well.

Code:
if (alreadyDisconnected)
return
alreadyDisconnected = true;
/fixed
That is a horrible fix... Why not just disconnect properly instead of doing that? Anyways, I'm not replying to tell you off. I'm replying to explain that he's just a consumer. He's looking for a "clean" source to start developing on for the first time (as far as I understand). Obviously there are no sources like that - but there are the ones I suggested. Back to your response... don't be so dramatic... I'm just suggesting things and exposing a flaw that he might possibly keep on his mind for when he can fix it.

Edit: I also took the time to fix your English. I highlighted my fixes in red. Cheers.
10/31/2012 06:44 mujake#5
by clean i mean without tons of unfinished features,more like basic features(skills/guilds/moving/leveling) and an reborn system.Like the features of an 5017 source , like the albetros witch has everything in it but you have to put it together...

i've tested every source from your forum for over 2 maybe 3 years....When i get to close in choosing one source some bug appear right of nowhere...i have like 2 DVDs full of sources and clients...
The best ones were 5017 ones like pazeco they seemed pretty decent and the unes up to 5165, the rest are full of features unfinished and tons of bugs.This is why i pointed the 5165 impulse the one originally posted witch you stated is good.
10/31/2012 11:37 I don't have a username#6
Quote:
Originally Posted by Fаng View Post
That is a horrible fix... Why not just disconnect properly instead of doing that? Anyways, I'm not replying to tell you off. I'm replying to explain that he's just a consumer. He's looking for a "clean" source to start developing on for the first time (as far as I understand). Obviously there are no sources like that - but there are the ones I suggested. Back to your response... don't be so dramatic... I'm just suggesting things and exposing a flaw that he might possibly keep on his mind for when he can fix it.

Edit: I also took the time to fix your English. I highlighted my fixes in red. Cheers.
You inserted word which were only required because of that. English is not my native language and every English I know is self taught. As far as I'm aware this is not grammarfaggots.com, but elitepvpers.com

Now on topic. You were saying all sources had the disconnect problem. I have never experienced it with any sources I've ever used from here.

Horrible fix? It is the correct way, because the disconnect event can occure more than once if you dc from receive or dc other places in a new thread or some shit for handling somethings.
10/31/2012 11:42 Korvacs#7
I didnt think any of my recent sources handled the disconnect incorrectly myself =x
10/31/2012 12:14 CptSky#8
Quote:
Originally Posted by Fаng View Post
That is a horrible fix... Why not just disconnect properly instead of doing that? Anyways, I'm not replying to tell you off. I'm replying to explain that he's just a consumer. He's looking for a "clean" source to start developing on for the first time (as far as I understand). Obviously there are no sources like that - but there are the ones I suggested. Back to your response... don't be so dramatic... I'm just suggesting things and exposing a flaw that he might possibly keep on his mind for when he can fix it.

Edit: I also took the time to fix your English. I highlighted my fixes in red. Cheers.
Disconnecting twice the same connection won't do anything as it is already done. It's like closing the same stream twice. Honestly, although it is a bug, it is not THE bug that'll make the source bad or anything...

For your English corrections. Being aware that most people there speak English as a second language, you should be comprehensive. Correcting it, for no reason, seems to be attitude only. Plus, his English is comprehensive and clear in comparison to a lot of people there, so, if you wan't to correct people's English, you should look somewhere else ? mujake has a better English than Bauss ? Sure... So, sorry, but it was only displaced (probably not a word, so « de mauvais goût ») I respect people trying to speak French, although they're pretty bad, when it's their second language.
10/31/2012 15:50 mujake#9
i am thinking to take impulse 5165(already downloaded it and set it up) from fangs thread with all sources...maybe ill lean something from it.
10/31/2012 16:17 CptSky#10
Quote:
Originally Posted by mujake View Post
i am thinking to take impulse 5165(already downloaded it and set it up) from fangs thread with all sources...maybe ill lean something from it.
I would recommend more Hybrid's ones.
10/31/2012 16:37 mujake#11
I've seen that too but that one is flatfile based from what i can remember and the npcs in vb scripts or something like that, anyway it seemed difficult for me to work on, this one is "easier" to work on because you have so many resources to inspire from, an more easier database( accounts and characters are in mysql/ items, monsters and such are in files).
10/31/2012 18:03 Spirited#12
Sorry for mentioning it. I'm not here to defend myself. Try putting your computer to sleep though while the client is connected and see what happens on the server. Most servers handle that correctlt, but some will either not disconnect or try disconnecting twice (which runs their disconnect method twice because they don't handle that correctly OR throws a much of errors).

It's not that big of an issue if you know how to code a socket system. Impulse's socket system handles it correctly. NewestCoServer has the possibility of two or more attempts to disconnect (which throws errors). ImmuneNoone's socket system handles it correctly. TrinityCo's first async socket system (which every consumer now uses) doesn't handle disconnects correctly (I'm not sure if that was fixed later on or not). ImmuneOne's Exodus Binaries don't handle them correctly. Elite-CoEmu handles disconnects correctly. Fusion Origins handles it correctly. CoFuture handles it correctly. Don't just assume is what I'm trying to say. There are possibilities that some sources ignore like the ones I mentioned. IF you know where the error occurs, you can prevent it. That's all I was suggesting.
10/31/2012 18:30 mujake#13
i think i'll try Hybrids source but the 5017 and 5071 upgraded by arco...