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!

Bango Server Emulator for Linux [C++]

Initiate Mage
Joined
Feb 10, 2012
Messages
84
Reaction score
10
It is most likely older engine.exe, older XTrap folder. That DLL works only with older version. Useless, since whole point of emulator is to keep compatibility with latest engine.exe.

it works for me on 7/7/2017 engine and it will work with newer versions just if you update the addresses xtrap can be removed if we invest some time into :p
 
Joined
Oct 11, 2007
Messages
1,706
Reaction score
517
it works for me on 7/7/2017 engine and it will work with newer versions just if you update the addresses xtrap can be removed if we invest some time into :p
Just to make sure I'm not messing something up. Can you upload your client?
I am running 64 bit win 7 tho, so that could be why I guess.

I'm also downloading Windows 10 to verify it's not my emulator setup, but considering how extremely simple it is, and the fact that it does connect I don't think that's the issue.

Edit: Another thing, I am not running the game with start.bat because then you get the "This program can't run alone" error. I am just double clicking engine.exe.
 
Experienced Elementalist
Joined
Aug 23, 2012
Messages
217
Reaction score
263
Edit: Tried it today after work and it's still not working 100%, basically it lets me start the game but once I get into the login screen and try to login it just doesn't do much more after that :).

Did you pull latest emu commits? Packet ids have changed in 7 7 17 engine
 
Skilled Illusionist
Joined
Oct 18, 2013
Messages
314
Reaction score
41
hey why when i install system got this error ?
lafreak - Bango Server Emulator for Linux [C++] - RaGEZONE Forums
 
Joined
Oct 11, 2007
Messages
1,706
Reaction score
517
So I added so you can kill mobs, however I don't have the packets for behead anim etc. So I won't commit it, lol.

Also, the tick with the mobs is quite slow. So sometimes the mobs can just stand there for a long time and not react to you.
 
Last edited:
Experienced Elementalist
Joined
Aug 23, 2012
Messages
217
Reaction score
263
So I added so you can kill mobs, however I don't have the packets for behead anim etc. So I won't commit it, lol.

Also, the tick with the mobs is quite slow. So sometimes the mobs can just stand there for a long time and not react to you.

Yes, there are different AI types for certain mobs. The one I implemented is so called by players "old AI", it looks for target each 20s. I'm currently working on damage/die exact way inix does it so you could wait with your changes. :p
 
Joined
Oct 11, 2007
Messages
1,706
Reaction score
517
Yes, there are different AI types for certain mobs. The one I implemented is so called by players "old AI", it looks for target each 20s. I'm currently working on damage/die exact way inix does it so you could wait with your changes. :p
Alright I'll revert my changes then :). It's a nice framework tho, good job so far! Really easy to add stuff :).
 
Experienced Elementalist
Joined
Aug 23, 2012
Messages
217
Reaction score
263
I currently see a lot of switch-case statements which might be better implemented using a command pattern.

Don't you think it's quite overkill since most cases are short like this:
Code:
		case C2S_MOVE_ON:
		case C2S_MOVE_END:
		{
			char byX=0;
			char byY=0;
			char byZ=0;
			CSocket::ReadPacket(packet.data, "bbb", &byX, &byY, &byZ);

			Lock();
			if (CanMove())
				OnMove(byX, byY, byZ, packet.byType == C2S_MOVE_ON ? 0 : 1);
			Unlock();
			break;
		}
 
Joined
Oct 11, 2007
Messages
1,706
Reaction score
517
@lafreak why i dont show the password?

lafreak - Bango Server Emulator for Linux [C++] - RaGEZONE Forums
It definitely looks like you just opened Nano and not a specific file with nano. Nano is just a editor, like notepad. You need to specify what file you want it to open.

BTW: @lafreak you should make a list of things you would like added, but aren't working on yourself.
The reason is because I do have an hour here and there after work and on weekends and wouldn't mind contributing :) but it seems foolish if we were to work on the same things :p.

Oh and also, there's a segfault in the CPlayer::Damage function, I solved it by doing this simply:

if (pAttacker->GetKind() == CK_MONSTER) { CMonster* pAttack = (CMonster*)pAttacker; if(pAttack) pAttack->SetTarget(NULL); }
 
Last edited:
Experienced Elementalist
Joined
Aug 23, 2012
Messages
217
Reaction score
263
BTW: @lafreak you should make a list of things you would like added, but aren't working on yourself.
The reason is because I do have an hour here and there after work and on weekends and wouldn't mind contributing :) but it seems foolish if we were to work on the same things :p.

Oh and also, there's a segfault in the CPlayer::Damage function, I solved it by doing this simply:

if (pAttacker->GetKind() == CK_MONSTER) { CMonster* pAttack = (CMonster*)pAttacker; if(pAttack) pAttack->SetTarget(NULL); }

Always pull latest changes, it was fixed few commits (days) before. :p

I'll try to make a list, by now you could try adding small commits. I was scared of your "Player attack and behead" feature, which obviously would not be a small commit. xD

@lafreak why i dont show the password?

lafreak - Bango Server Emulator for Linux [C++] - RaGEZONE Forums

You most likely opened DBConfig.xml in wrong directory, that's why it's empty. Nano creates file if it doesn't exist.
 
Joined
Oct 11, 2007
Messages
1,706
Reaction score
517
Always pull latest changes, it was fixed few commits (days) before. :p

I'll try to make a list, by now you could try adding small commits. I was scared of your "Player attack and behead" feature, which obviously would not be a small commit. xD



You most likely opened DBConfig.xml in wrong directory, that's why it's empty. Nano creates file if it doesn't exist.
I actually did a clean pull this morning and it still segfaults on that line :), at least it does for me! Try summoning mob id 250 and dying, that crashes it for me at least. With my fix it doesn't crash anymore.

Haha yeah I figured as much, looking over your code it's pretty similar to mine. I'm currently looking at dropping/picking up items, but if you make a list of small things you'd like added instead let me know :). Also do you sniff the latest int client for packets?
 
Experienced Elementalist
Joined
Aug 23, 2012
Messages
217
Reaction score
263
I actually did a clean pull this morning and it still segfaults on that line :), at least it does for me! Try summoning mob id 250 and dying, that crashes it for me at least. With my fix it doesn't crash anymore.

Haha yeah I figured as much, looking over your code it's pretty similar to mine. I'm currently looking at dropping/picking up items, but if you make a list of small things you'd like added instead let me know :). Also do you sniff the latest int client for packets?

Item drop is not something easy aswell, it's like player/monster/npc you need to generate appear packets, disapear packets etc. It should inherit from CCharacter and override GenerateCreatePacket I think.
No, I do not sniff client, you've got engine source from 2009 with all info about old packets and I also disassembled latest engine to look for new packets.
 
Joined
Oct 11, 2007
Messages
1,706
Reaction score
517
Item drop is not something easy aswell, it's like player/monster/npc you need to generate appear packets, disapear packets etc. It should inherit from CCharacter and override GenerateCreatePacket I think.
No, I do not sniff client, you've got engine source from 2009 with all info about old packets and I also disassembled latest engine to look for new packets.

Makes sense, I've just been sniffing instead but I guess that's not as efficient :p.
I'll await your list then :).
 
Experienced Elementalist
Joined
Aug 23, 2012
Messages
217
Reaction score
263
Makes sense, I've just been sniffing instead but I guess that's not as efficient :p.
I'll await your list then :).

Updated README on GitHub with progress. Alot is missing but it's all I could think of for now.
 
Last edited:

Ozi

Junior Spellweaver
Joined
May 28, 2014
Messages
118
Reaction score
23
Is it possible to help beginners in programming and have the desire to learn from the code and after we benefit we will share in the modifications of the project and become the benefit for all.
it should be by writing a ( // ) marks up the code or any address that can make us understand where the files connected and how we can use to check it
i hope if you can help me
Regards
 
Back
Top