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!

open-sourced pythonstory v83

Newbie Spellweaver
Joined
Jun 21, 2008
Messages
99
Reaction score
7
For the past couple of days, I've started building a Python based source from the ground up with inspiration mainly from the legendary MoopleDev and Vana. This is a sideproject for me, as I'm running a business on the side, but I'm gonna fiddle with it on a daily basis.

So far, I've set up the general socket structure with , and using as the ORM. Instead of wzxml, I'm using lazyloading with a database, ported from the mcdb v83 release. Encryption is taken from Moople, so the basics are working. As of right now I'm implementing the map structure.

My general question is, are there anyone who would be interested in contributing to an open-sourced project like this? I'm more than happy to open up the repo for pull requests.


EDIT
Github repo;
 
Last edited:
Newbie Spellweaver
Joined
Aug 25, 2014
Messages
24
Reaction score
5
I know literally jack about python, but it sounds pretty solid to be honest. Keep it up, glad to see the community slowly reviving!!
 
Newbie Spellweaver
Joined
Jun 21, 2008
Messages
99
Reaction score
7
Well, it definately has some kind of status around here seeing it's been one of the most popular threads for god knows how long. I'll hopefully finish up the map structure in the next couple of days and post the repo in this very thread.

I'm fairly confident in Python, but have never made a source from scratch, nor did any game development before, so maybe we can help each other out.
 
<3
Joined
Feb 4, 2011
Messages
481
Reaction score
123
MoopleDEV is not legendary at all. It is common among newcomers and anyone looking for a quick server to start up however. I'd be down to contributing to this, perhaps. Which version of Python are you using? 3.x?
 
Newbie Spellweaver
Joined
Jun 21, 2008
Messages
99
Reaction score
7
Allright, let's end the MoopleDEV discussion. Currently I'm using Python 2.7.

AND - it would be awesome if you wanted to chip in.
 
Last edited:
Newbie Spellweaver
Joined
Jun 21, 2008
Messages
99
Reaction score
7
I'm gonna try once more to wrap up the general source discussion - I'm excited people wanna chip in.
 
Newbie Spellweaver
Joined
Jun 21, 2008
Messages
99
Reaction score
7
I'm moving away from all the unnecessary classes, at least for now. The serverhandler.py was an old file from when I started out. I'll write up a small architectural overview at the git repo, but processors and handlers will remain, at least for now. However, no huge switches/if-elses will ever see the light of day.
 
Last edited:
Skilled Illusionist
Joined
Apr 21, 2012
Messages
337
Reaction score
144
Even if this went anywhere, it'd only be able to support like ten people on it at once because it's Python. You'd end up in the same situation that we have now with Java where the servers use absurd amounts of resources (especially memory) for no reason at all.
 
Newbie Spellweaver
Joined
Jun 21, 2008
Messages
99
Reaction score
7
That sure is a weird comment. Python is used for high performance computing tons of places. Well structured Python code should have no problem running a large msserver. The main problem of the current servers are the insane amounts of uneccessary code. Anyway, there's plenty of other people who's been having well documented arguments like about languages and performance - so I'm not gonna start one here. Feel free to read up on them and come back with a bit more well educated answer.
 
Skilled Illusionist
Joined
Apr 21, 2012
Messages
337
Reaction score
144
Python is used for high performance computing tons of places.
Python is often used to write glue code for high-performance computing. All of this is dependent on using fast libraries written in low-level languages within Python though. This is where it's use case in data processing and data analytics comes from. Here are some benchmarks (which certainly are not the end-all-be-all): . You'll see Python is 36x slower on average. The only benchmark with a negligible performance difference is one that shells out to native code.

Well structured Python code should have no problem running a large msserver.
The structure of software makes it easier to read and edit. It does not inherently affect the performance of the application. The more of your software that's actually written in Python, the less likely it will be to perform well or to use reasonable amounts of memory. There's lots of networking libraries that will shell out to native code (you're using one), but you'll likely find that memory management is an issue since a game server is a large, real-time system. In practice, people get around this by throwing more hardware at it, but if your goal is to write a high quality server, performance should be central.

The main problem of the current servers are the insane amounts of uneccessary code.
The only way a section of code can be unnecessary is if it is unused. Unused code does not impact performance. The problem is needlessly complex code in a language that's already prone to having serious memory issues. While you could theoretically address the issue of unnecessary complexity, you're switching to a language that has similarly bad memory issues (and worse performance issues related to memory management and parallelism because of the global interpreter lock).

Anyway, there's plenty of other people who's been having well documented arguments like about languages and performance - so I'm not gonna start one here. Feel free to read up on them
I don't need to read up on the impact of choosing one of various common languages. It appears that you might though.
 
Newbie Spellweaver
Joined
Jun 21, 2008
Messages
99
Reaction score
7
I'm sorry for treating your earlier post as an empty one - it seemed like a standard language insult. I agree with some of the points you're making, which is good. However, I'm not gonna make this post a language debate.
 
<3
Joined
Feb 4, 2011
Messages
481
Reaction score
123
I've looked through your GitHub. Quite impressed that you are actually making progress, however I have a suggestion (whether you choose to take it or not is entirely up to you). I would highly recommend commenting and documenting your code if you want people to contribute to your code as it makes the code a lot easier to maintain.
 
Newbie Spellweaver
Joined
Jun 21, 2008
Messages
99
Reaction score
7
Yeah, thanks. So far, i've been having trouble structuring the project, so once I get a working base up I'll make it both readable and understandable so others can contribute. Thanks for following along, anyway.
 
Junior Spellweaver
Joined
Mar 21, 2015
Messages
126
Reaction score
13
Any updates on this?
I have very little experience in Python, but this looks like a very intriguing project.
 
<3
Joined
Feb 4, 2011
Messages
481
Reaction score
123
Looking at the github, the last update was from 19 days ago...
 
Back
Top