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!

Sens of server emulator

Newbie Spellweaver
Joined
Dec 11, 2013
Messages
17
Reaction score
2
Hi everyone,

I want to know what is your opinion about start creating open source Mu Online server emulator.
Does that make sens?

My idea:
- Cross platform (windows / linux)
- C++ (QT5 / any idea?) or Java
- MySQL or Postgresql
- Other idea of servers tree **it means:
-- GameServer: yeah! normal game server
-- ConnectServer: Server list
-- DataServer: Only sql operations, results send to gameserver(no calculating, checking etc.)
-- NetworkManager: manage server list in CS(add, del, update), global chat, events manager, etc.

What is your opinion? Maybe Mu Online is dead?

Why open source? Because It's great idea! Everyone can help, everyone can use it.
What about version? Maybe GMO S6 E3 client and slowly add all futures.

We have .90 GS source and dataserver so I think it can be good idea.

Thanks.
 
Junior Spellweaver
Joined
Nov 22, 2013
Messages
144
Reaction score
95
It's possible. It's always a matter of asking whether you're up for the task or not. We've seen quite a few potential projects that had gone down the drain because the author suddenly disappeared due to the unexpected high demand of effort needed to complete the project. This is very frustrating for everyone who's had their hopes up on the project; some might have even invested a lump sum of cash on a game server based on the project files made by these particular developers. And to see the project abandoned means to neglect the game servers dependent on your server files. It's unfair to the server hosters, and especially to the players.

It would not be fair for you to mislead everyone in thinking the server files are going to be finished and just disappear.

It's time consuming and laborious. If you can put the time & effort to finish the project, go ahead.
 
Newbie Spellweaver
Joined
Dec 11, 2013
Messages
17
Reaction score
2
What about open source idea? Maybe closed source for more security? Any ideas?
 
Banned
Banned
Joined
Jan 1, 2014
Messages
793
Reaction score
81
Hey bro, you could at least start on a server files for MuOnline and that would be even great
 
Joined
Aug 6, 2005
Messages
552
Reaction score
298
As a guy who develops a server in c# since some years for fun, I could add my two cents here...

Hi everyone,

I want to know what is your opinion about start creating open source Mu Online server emulator.
Does that make sens?
yea, if you got enough skill and time.
My idea:
- Cross platform (windows / linux)
- C++ (QT5 / any idea?) or Java
I dunno, but Java or C# would be more productive. If time is your limited resource, c++ is probably not the best choice.
- MySQL or Postgresql
PostgreSQL for sure
- Other idea of servers tree **it means:
-- GameServer: yeah! normal game server
-- ConnectServer: Server list
-- DataServer: Only sql operations, results send to gameserver(no calculating, checking etc.)
-- NetworkManager: manage server list in CS(add, del, update), global chat, events manager, etc.
So, you want to create a similar architecture as the webzen server? Not a good design, if you ask me.
What is your opinion? Maybe Mu Online is dead?
Well, I do it for fun, to learn new things. I doubt you'd finish fast - if ever - anyway.
Why open source? Because It's great idea! Everyone can help, everyone can use it.
What about version? Maybe GMO S6 E3 client and slowly add all futures.
Open source is great, however I wouldn't expect much help from the community - there were some of this projects already with no help and not really active development. Imho you need to finish a lot before going public, so that people see this is a serious project. And yes, GMO S6 E3 is also my prefered version.
We have .90 GS source and dataserver so I think it can be good idea.
Well, copying this crappy code is not a good idea. However, you can see how things are working (data protocol and so on).
 
Newbie Spellweaver
Joined
Dec 11, 2013
Messages
17
Reaction score
2
@nevS so what is your idea of architecture? I feel good in c++ with qt5 so it would be best choice for me. I don't want copy wz code, only structures and how it works :)

If you have better idea about server structure please tell me that.

// EDIT

I have new idea about architecture.

- NetworkManager (inside as service:)
-> ConnectServer (server list, blacklist, whitelist)
-> ChatServer (for public posts, messages etc)
-> EventServer (sync events on gameservers)

- GameServer : normal gameserver, but sql connection inside
- CastleSiegeServer: like gameserver but only for CastleSiege event

What is your opinion about this idea? Is it good way to use sql connection inside gameserver? Or maybe like WZ use it separately?
 
Last edited:
Joined
Aug 6, 2005
Messages
552
Reaction score
298
Well, your ideas are very vague... so can't really say it's great or not.

I can tell you how I splitted the functionality of my server. I have separate projects, they can be plugged together to run in 1 process, or scaled out to several machines:
DataModel - Contains all the data classes of entites (accounts, characters etc.) and configuration stuff
Persistence - Repository-Interfaces and some base classes to load/save data
Persistence.PostgreSQL - Implementation of the Repository-Interfaces using the PostgreSQL database
Network - some classes to create connections, sending and receiving data, including encryption
ChatServer - it manages just the chats over the MUssenger
ConnectServer - like the original, delivers the server list etc. However it has no explicit server list to configurate, game servers are registering themself with their public ip/port to it
FriendServer - manages the friend list, which means retrieving friend list, adding&removing friends, creation of chat rooms (calling the chat server), forwarding letters to the right game server, etc.
GameLogic - all the logic of the game (NO direct network or database access here yet, it calls interfaces). Each player got a "View"-Interface object, which can be implemented how you like, e.g. sending data to a client. So later it can be reused even for offline/coop-games, i just have to implement this interface to draw on the screen accordingly.
GameServer - includes the socket listener for the game server, the logic to read and send packets. After reading the values from the packets, player actions of the game logic are getting called. Implements the View-Interface by sending data packets to the connected client.
So if you want to support several client versions, you just have to implement separate views and packet reading classes for them.
LoginServer - manages the logged in accounts, so that they can only log in once
GuildServer - manages all the guild stuff, e.g. forwards guild changes to the affected game servers and their players

Startup - Plugs all the stuff together. For example, if I want a server with several sub servers (very simplified description) in one process:
I create one of each ConnectServer, LoginServer, GuildServer, ChatServer, FriendServer object. Then I create all the needed GameServer objects, each will get the dependent objects by its constructor, e.g.
Code:
public GameServer(IGuildServer guildServer, 
            ILoginServer loginServer, 
            IRepositoryManager repositoryManager,
            IFriendServer friendServer,
            IGameConfiguration configuration, ...) {...}
 
Junior Spellweaver
Joined
Jun 25, 2006
Messages
191
Reaction score
226
the point is that nobody is gonna help u in that project, at least no in this forum.
i know what i'm talking about, i coded (a lot) in several open source projects, even game emulators, and i can assure you that
there is no people willing to share time, code, and knowledge here. (maybe there are a few guys, but no more than that).

in fact, there was a release years ago, a guy "released" a complete gs source code, and instantly, many self called "coder teams" started
to make "their own version" but most of them did not release what they coded, instead, they started to sell the product.
(product that they did not code, because was stolen in the first place, just added a few complements, like events, items, maps, etc)

so, stolen code was used to make "own versions" and sell it, and that is far from starting something from scratch and share anything with anyone...

as i said, i know what i'm talking about, i started a project to remake both client and server, and there are just two guys helping, no more. :D

in any case, this is just my opinion. gl with your project.
 
Newbie Spellweaver
Joined
Dec 11, 2013
Messages
17
Reaction score
2
It is a sad truth. But I don't want to steal anything. I want to learn new things and helps community because I really like mu online and this project is something like a dream for me. Open source is very good idea even if nobody helps me. I will share all sources for free and if someone loves my project then can donate my team and we help him with using that files.

So I'm starting with project but share anything when I do basics.

Thanks guys :) if someone has ideas about emu can pm me.
 
Back
Top