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!

[Development] Connect Discord & Mu Online

Experienced Elementalist
Joined
May 4, 2017
Messages
219
Reaction score
316
Couple days ago, 1st time I touch and learnt about Discord API for another project...
Then I think Discord would be a good choice to replace regular website/forum/community MuOnline web pages
So I made a small extension feature for Mu Online Chat system...I tested it in the vid below.

There are some advantage when using Discord like a normal Mu Online website.
The Discord Bot I wrote, Don't exc directly SQL query (no worry about ';DROP ALL YOUR FKING TABLES; :D).
And your Bot dont be exposed to the users. It's covered by Discord Server(and Cloudfare as always :D) It's only process user commands via Discord message (ex: /post something ... easy to deal with :D).
Anyway, much less risks to worry about many kinds of fancy hacks/DDOS/.... ^^

 
Junior Spellweaver
Joined
May 18, 2005
Messages
109
Reaction score
49
re: [Development] Connect Discord & Mu Online

This looks very cool and it has great marketing potential. What long term plans do you have with this?
 
Experienced Elementalist
Joined
May 4, 2017
Messages
219
Reaction score
316
re: [Development] Connect Discord & Mu Online

This looks very cool and it has great marketing potential. What long term plans do you have with this?
Nope bro, I just want to share some idea to community... I don't really have time for all my current projects,maybe few hours i have per weekend is max... :)
The point is :"Should we better place our services at where players exactly come from...?"

The feature I made above is just a small test. By that, I can say that : You can put what ever from your regular website to Discord via Bots. Examples : register/login system, vote, rankings, events, donate(paypal...), usercontrol panels(/reset /kick or whatever...), support system(has some free bots on web already, no need to remake it :)). You also can move your forum into Discord as well if you want.

The best point : No DDOS... Only Discord can connect with you.

btw, anyone know how many players using discord? 100 millions? or more? idk :)
and if you dont like Discord, how about teamspeak or what ever on the net?
 
Junior Spellweaver
Joined
May 18, 2005
Messages
109
Reaction score
49
Nope bro, I just want to share some idea to community... I don't really have time for all my current projects,maybe few hours i have per weekend is max... :)
The point is :"Should we better place our services at where players exactly come from...?"

The feature I made above is just a small test. By that, I can say that : You can put what ever from your regular website to Discord via Bots. Examples : register/login system, vote, rankings, events, donate(paypal...), usercontrol panels(/reset /kick or whatever...), support system(has some free bots on web already, no need to remake it :)). You also can move your forum into Discord as well if you want.

The best point : No DDOS... Only Discord can connect with you.

btw, anyone know how many players using discord? 100 millions? or more? idk :)
and if you dont like Discord, how about teamspeak or what ever on the net?

Yes there is a lot of stuff that can be done. The question is, who's gonna put it into use? If it's going to stay as a hobby project then no one will really use it. That's why I asked about long-term plans. Commercial DLL could bring it to private servers.
 
Junior Spellweaver
Joined
Dec 17, 2011
Messages
106
Reaction score
5
You can try adding an emoticon system ?
 
Experienced Elementalist
Joined
May 4, 2017
Messages
219
Reaction score
316
Re: [Development] Connect Discord & Mu Online

Yes there is a lot of stuff that can be done. The question is, who's gonna put it into use? If it's going to stay as a hobby project then no one will really use it. That's why I asked about long-term plans. Commercial DLL could bring it to private servers.
No commercial intention yet. This is a hobby project for now.



You can try adding an emoticon system ?

Do you mean this? piece of cake :)) I'm just lazy to import all hundreds/thousands of emoji icons (handy way) to games (a lot :D). But that's no problem at all.

1qLwFNC - [Development] Connect Discord & Mu Online - RaGEZONE Forums
 

Attachments

You must be registered for see attachments list
Junior Spellweaver
Joined
Dec 17, 2011
Messages
106
Reaction score
5
Re: [Development] Connect Discord & Mu Online

No commercial intention yet. This is a hobby project for now.





Do you mean this? piece of cake :)) I'm just lazy to import all hundreds/thousands of emoji icons (handy way) to games (a lot :D). But that's no problem at all.

1qLwFNC - [Development] Connect Discord & Mu Online - RaGEZONE Forums

:Thumbup1:cool···man
 

Attachments

You must be registered for see attachments list
Joined
Aug 6, 2005
Messages
550
Reaction score
296
If that’s easy, do you mind telling us how to add these emoticons? :)

I had an idea about community/chat, too. How about integrating XMPP to the MUssenger/Friend System? Might be cool to chat with friends over an external xmpp client, e.g. over a smartphone ;)
 
Experienced Elementalist
Joined
May 4, 2017
Messages
219
Reaction score
316
Re: [Development] Connect Discord & Mu Online

@solarismu hello friend share source rf gloves :)
Note : Custom Gloves Effects are not included in this released. I use a different Custom Effect System in S9, not time to release it now:p
So, missing visual effect is expected. You may need to code custom effects by yourself. Cheer!

DllMain Hook
Code:
    HookThis((DWORD)&VicRFGloves_4, HOOK_RF_GLOVES_4);
    HookThis((DWORD)&VicRFGloves_3, HOOK_RF_GLOVES_3);
    HookThis((DWORD)&VicRFGloves_2, HOOK_RF_GLOVES_2);
    HookThis((DWORD)&VicRFGloves_1, HOOK_RF_GLOVES_1);
CustomRFWeaponsFix
Code:
//-------------------------------------------
//Fix Added Custom RF Weapons
//By Vic
//-------------------------------------------

#define HOOK_RF_GLOVES_1 0x005999CA
#define JMPBACK_RF_GLOVES_1 0x005999D2
#define HOOK_RF_GLOVES_2 0x00521C96
#define JMPBACK_RF_GLOVES_2 0x00521C9C
#define HOOK_RF_GLOVES_3 0x00586BDA
#define JMPBACK_RF_GLOVES_3 0x00586BE0
#define HOOK_RF_GLOVES_4 0x00612D02
#define JMPBACK_RF_GLOVES_4 0x00612D08

#define CUSTOM_RF_WEAPONS_MAX 4
#define CUSTOM_RF_WEAPONS_LR_GAP 100
DWORD VIC_CUSTOM_RF_WEAPONS[CUSTOM_RF_WEAPONS_MAX] = { 46,52,53,56 };
DWORD VIC_CUSTOM_RF_WEAPONS_R[CUSTOM_RF_WEAPONS_MAX] = { 146,152,153,156 };
DWORD VIC_CUSTOM_RF_WEAPONS_L[CUSTOM_RF_WEAPONS_MAX] = { 246,252,253,256 };

BOOL VicIsCustomRFWeapons(DWORD idx)
{
    if (idx > 1272)
        idx -= 1272;
    for (int i = 0; i < CUSTOM_RF_WEAPONS_MAX; i++)
        if (VIC_CUSTOM_RF_WEAPONS[i] == idx)
            return TRUE;
    return FALSE;
}

BOOL VicIsCustomRFWeapons2(DWORD idx)
{
    if (idx > 1272)
        idx -= 1272;
    for (int i = 0; i < CUSTOM_RF_WEAPONS_MAX; i++)
        if (VIC_CUSTOM_RF_WEAPONS_L[i] == idx || VIC_CUSTOM_RF_WEAPONS_R[i] == idx)
            return TRUE;
    return FALSE;
}

DWORD vRFTemp1;
void __declspec(naked) VicRFGloves_1()
{
    _asm
    {
        mov eax, [ebp - 0x1C];
        mov vRFTemp1, eax;
    }
    
    if (VicIsCustomRFWeapons(vRFTemp1))
    {
        _asm
        {
            mov edx, 0x005999DE;
            jmp edx;
        }
    }

    _asm
    {
        push[ebp - 0x1C];
        mov ecx, 0x012767A0;
        mov edx, JMPBACK_RF_GLOVES_1;
        jmp edx;
    }
}

void __declspec(naked) VicRFGloves_2(DWORD a1, DWORD mIdx, DWORD slot)
{
    if (slot == 0 || slot == 1)
    {
        if (VicIsCustomRFWeapons(mIdx))
        {
            mIdx += CUSTOM_RF_WEAPONS_GAP*(slot+1);
        }
    }
        
    _asm
    {
        push slot;
        push mIdx;
        mov edx, JMPBACK_RF_GLOVES_2;
        jmp edx;
    }
}

DWORD vRFTemp3;
void __declspec(naked) VicRFGloves_3()
{
    _asm
    {
        mov vRFTemp3, eax;
    }
    
    if (VicIsCustomRFWeapons(vRFTemp3))
    {
        _asm
        {
            mov edx, 0x00586BEC;
            jmp edx;
        }
    }
    
    _asm
    {
        mov eax, [ebp - 0x00000348];
        movsx eax, word ptr[eax];
        push eax;
        mov ecx, 0x012767A0;
        mov edx, JMPBACK_RF_GLOVES_3;
        jmp edx;
    }
}

void __declspec(naked) VicRFGloves_4(DWORD a1, DWORD mIdx)
{
    if (VicIsCustomRFWeapons2(mIdx))
    {
        _asm
        {
            mov edx, 0x00612D19;
            jmp edx; 
        }
    }
    _asm
    {
        push mIdx;
        push a1;
        mov edx, JMPBACK_RF_GLOVES_4;
        jmp edx;
    }
}
Remember to add L/R RF Gloves bmd in item.bmd
Ui4ujoP - [Development] Connect Discord & Mu Online - RaGEZONE Forums

84vv30P - [Development] Connect Discord & Mu Online - RaGEZONE Forums




and bow please? ^_^

Nope, not now.
Maybe later :D



If that’s easy, do you mind telling us how to add these emoticons? :)

I had an idea about community/chat, too. How about integrating XMPP to the MUssenger/Friend System? Might be cool to chat with friends over an external xmpp client, e.g. over a smartphone ;)

Nope, I'm not going to share emoticons system yet.

And about your idea. That's really cool :) I also plans to make a guild/ally chat/voice system that connect in-out game. Of course, won't miss private message/friend system. :) But maybe later, when I have more time for this.
 

Attachments

You must be registered for see attachments list
Last edited:
Newbie Spellweaver
Joined
Aug 8, 2018
Messages
77
Reaction score
14
Cancern faces for MUOnline are hot now, easy peasy to synchronise MU with Discord, and there is Season 6 client where font looks like in Atari, same UI it's pixelizing on high resolutions.
Anyway i like it, keep it up!
 
Newbie Spellweaver
Joined
Sep 24, 2015
Messages
97
Reaction score
35
Re: [Development] Connect Discord &amp;amp; Mu Online

Note : Custom Gloves Effects are not included in this released. I use a different Custom Effect System in S9, not time to release it now:p
So, missing visual effect is expected. You may need to code custom effects by yourself. Cheer!

DllMain Hook
Code:
    HookThis((DWORD)&VicRFGloves_4, HOOK_RF_GLOVES_4);
    HookThis((DWORD)&VicRFGloves_3, HOOK_RF_GLOVES_3);
    HookThis((DWORD)&VicRFGloves_2, HOOK_RF_GLOVES_2);
    HookThis((DWORD)&VicRFGloves_1, HOOK_RF_GLOVES_1);
CustomRFWeaponsFix
Code:
//-------------------------------------------
//Fix Added Custom RF Weapons
//By Vic
//-------------------------------------------

#define HOOK_RF_GLOVES_1 0x005999CA
#define JMPBACK_RF_GLOVES_1 0x005999D2
#define HOOK_RF_GLOVES_2 0x00521C96
#define JMPBACK_RF_GLOVES_2 0x00521C9C
#define HOOK_RF_GLOVES_3 0x00586BDA
#define JMPBACK_RF_GLOVES_3 0x00586BE0
#define HOOK_RF_GLOVES_4 0x00612D02
#define JMPBACK_RF_GLOVES_4 0x00612D08

#define CUSTOM_RF_WEAPONS_MAX 4
#define CUSTOM_RF_WEAPONS_LR_GAP 100
DWORD VIC_CUSTOM_RF_WEAPONS[CUSTOM_RF_WEAPONS_MAX] = { 46,52,53,56 };
DWORD VIC_CUSTOM_RF_WEAPONS_R[CUSTOM_RF_WEAPONS_MAX] = { 146,152,153,156 };
DWORD VIC_CUSTOM_RF_WEAPONS_L[CUSTOM_RF_WEAPONS_MAX] = { 246,252,253,256 };

BOOL VicIsCustomRFWeapons(DWORD idx)
{
    if (idx > 1272)
        idx -= 1272;
    for (int i = 0; i < CUSTOM_RF_WEAPONS_MAX; i++)
        if (VIC_CUSTOM_RF_WEAPONS[i] == idx)
            return TRUE;
    return FALSE;
}

BOOL VicIsCustomRFWeapons2(DWORD idx)
{
    if (idx > 1272)
        idx -= 1272;
    for (int i = 0; i < CUSTOM_RF_WEAPONS_MAX; i++)
        if (VIC_CUSTOM_RF_WEAPONS_L[i] == idx || VIC_CUSTOM_RF_WEAPONS_R[i] == idx)
            return TRUE;
    return FALSE;
}

DWORD vRFTemp1;
void __declspec(naked) VicRFGloves_1()
{
    _asm
    {
        mov eax, [ebp - 0x1C];
        mov vRFTemp1, eax;
    }
    
    if (VicIsCustomRFWeapons(vRFTemp1))
    {
        _asm
        {
            mov edx, 0x005999DE;
            jmp edx;
        }
    }

    _asm
    {
        push[ebp - 0x1C];
        mov ecx, 0x012767A0;
        mov edx, JMPBACK_RF_GLOVES_1;
        jmp edx;
    }
}

void __declspec(naked) VicRFGloves_2(DWORD a1, DWORD mIdx, DWORD slot)
{
    if (slot == 0 || slot == 1)
    {
        if (VicIsCustomRFWeapons(mIdx))
        {
            mIdx += CUSTOM_RF_WEAPONS_GAP*(slot+1);
        }
    }
        
    _asm
    {
        push slot;
        push mIdx;
        mov edx, JMPBACK_RF_GLOVES_2;
        jmp edx;
    }
}

DWORD vRFTemp3;
void __declspec(naked) VicRFGloves_3()
{
    _asm
    {
        mov vRFTemp3, eax;
    }
    
    if (VicIsCustomRFWeapons(vRFTemp3))
    {
        _asm
        {
            mov edx, 0x00586BEC;
            jmp edx;
        }
    }
    
    _asm
    {
        mov eax, [ebp - 0x00000348];
        movsx eax, word ptr[eax];
        push eax;
        mov ecx, 0x012767A0;
        mov edx, JMPBACK_RF_GLOVES_3;
        jmp edx;
    }
}

void __declspec(naked) VicRFGloves_4(DWORD a1, DWORD mIdx)
{
    if (VicIsCustomRFWeapons2(mIdx))
    {
        _asm
        {
            mov edx, 0x00612D19;
            jmp edx; 
        }
    }
    _asm
    {
        push mIdx;
        push a1;
        mov edx, JMPBACK_RF_GLOVES_4;
        jmp edx;
    }
}
Remember to add L/R RF Gloves bmd in item.bmd
Ui4ujoP - [Development] Connect Discord & Mu Online - RaGEZONE Forums

84vv30P - [Development] Connect Discord & Mu Online - RaGEZONE Forums



Nope, not now.
Maybe later :D

Thanks work 100%

I just need the fix to use the bow:eek:tt: pleaseeeee
I do not need effect...
 

Attachments

You must be registered for see attachments list
Experienced Elementalist
Joined
May 4, 2017
Messages
219
Reaction score
316
Re: [Development] Connect Discord &amp;amp; Mu Online

Thanks work 100% I just need the fix to use the bow:eek:tt: pleaseeeeeI do not need effect...
Nope, I won’t release more than 1 thing at a time. Maybe later.
 
Newbie Spellweaver
Joined
Aug 8, 2018
Messages
77
Reaction score
14
Who would not want to, to early brother, tooo early. :)
Great idea but this will stay unreleased as most of great developed things in MU.
 
Newbie Spellweaver
Joined
Apr 21, 2020
Messages
51
Reaction score
14
Any update? Guys I'm looking for integration like that. Can you release it on github so we can continue develop bot :)
 
Initiate Mage
Joined
Mar 30, 2022
Messages
1
Reaction score
0
Hello im new with game development may i ask some pointers before trying to code my own MU game just to practice. :blush:
are you using purely C# for developing this game? or can i use unity 3d?:?::?:
and if you also what servers are usually used for this type of games?
 
Joined
Oct 8, 2006
Messages
740
Reaction score
289
Hello im new with game development may i ask some pointers before trying to code my own MU game just to practice. :blush:
are you using purely C# for developing this game? or can i use unity 3d?:?::?:
and if you also what servers are usually used for this type of games?

There are a few servers using C# as programming language, but no. 90% of Mu Servers are C++ using the good old winsock lib for networking.
There's OpenMU project which is open source. It's Mu Server written in C#. It's still in development.

Yes, you can recreate Mu in Unity. There are already developers having Mu Online Unity 3D projects in development, of course, closed source.

I don't understand your last question: What servers are used for this type of MMOs or you meant in Unity? In Unity you can use whatever you want. Mirror or Photon assets or anything related to networking or make it from scratch in C#. As for a MMO server programming language, you can use any language that "speaks networking".
 
Back
Top