• Unfortunately, we have experienced significant hard drive damage that requires urgent maintenance and rebuilding. The forum will be a state of read only until we install our new drives and rebuild all the configurations needed. Please follow our Facebook page for updates, we will be back up shortly! (The forum could go offline at any given time due to the nature of the failed drives whilst awaiting the upgrades.) When you see an Incapsula error, you know we are in the process of migration.

Blaze Emulator [Python] [r18]

Status
Not open for further replies.
Software Engineer
Loyal Member
Joined
Feb 19, 2008
Messages
1,055
Reaction score
492
Another glorious Python project (not commenting based on code quality, but language choice), this one is r18, again I found this in the Spanish community. This is under development.



Screenshots:

XrbIWwJ - Blaze Emulator [Python] [r18] - RaGEZONE Forums

vVKiCZl - Blaze Emulator [Python] [r18] - RaGEZONE Forums

JoeYkvP - Blaze Emulator [Python] [r18] - RaGEZONE Forums



Code Sample:

Code:
from Core.ConfigurationData import ConfigurationData
from Core.Logging import Logging
from Network.GameConnectionListener import GameConnectionListener
from Storage.Database import Database

__author__ = 'KrozT'


class BlazeEnvironment():

    # Vars camouflaged
    __Configuration = None
    __Storage = None
    __HabboHotel = None
    __GameConnection = None
    __MusConnection = None

    def __init__(self):
        # Show logo and others, for decoration.
        Logging().appendWhiteLine(1)
        Logging().appendBlazeLogo()
        Logging().appendBlazeLine("Starting all Blaze systems...")

        # Load configuration file...
        self.__Configuration = ConfigurationData("Settings/configuration.ini")
        if self.__Configuration.getProperty("software.author") != "KrozT":
            Logging().appendErrorLine("Theft of credits detected to author in the config file.")

        # Starting MySQL Connection
        Logging().appendBlazeLine("Connecting to Database...")
        self.__Storage = Database(self.__Configuration.getProperty("db.hostname"),
                                  self.__Configuration.getProperty("db.username"),
                                  self.__Configuration.getProperty("db.password"),
                                  self.__Configuration.getProperty("db.name"),
                                  self.__Configuration.getProperty("db.port"))

        # Starting Habbo Emulation - Pronto!
        Logging().appendBlazeLine("Loading HabboHotel System...")
        self.__HabboHotel = None  # Need continue...

        # Starting Game Socket
        Logging().appendBlazeLine("Starting Game Socket System...")
        self.__GameConnection = GameConnectionListener(self.__Configuration.getProperty("game.tcp.bindip"),
                                                       self.__Configuration.readInteger("game.tcp.port"))

        # Starting MUS Socket - Pronto!
        Logging().appendBlazeLine("Starting MUS Socket System...")
        self.__MusConnection = None  # Need continue...

        # Ready!
        Logging().appendBlazeLine("Blaze Emulator is ready to receive connections.")

    [USER=1333341624]Property[/USER]
    def getConfig(self):
        return self.__Configuration

    [USER=1333341624]Property[/USER]
    def getStorage(self):
        return self.__Storage

    [USER=1333341624]Property[/USER]
    def getHabboHotel(self):
        return self.__HabboHotel

    [USER=1333341624]Property[/USER]
    def getGameSocket(self):
        return self.__GameConnection

Download Link

https://mega.co.nz/#!KRoAFDJJ!xyOQSGRXFPR_Gsej9urxJohrxnVSk6_Ucn9QmmQ7ybM

Credit:
Tenma Matsukaze ~ Primary Developer
KяσzT ~ Primary Developer

Developer's Note:

This is only a base, it's not functional for a hotel. Based on a few minutes of going through the code, it's just hotel view thus far.

As usual, no support included. :)
 
Developer
Developer
Joined
Dec 11, 2010
Messages
2,955
Reaction score
2,688
no no no no NO NO NO NO NO NO NO NO NO

Good to see something other than c# and java being used, though.

Nothing wrong with C# and Java, the problem is that lots of people don't know how to properly style their code, understand how to fix memory leaks and/or don't know how to increase server performance.

It's going to happen in any project where there's a lack of programming etiquette regardless of language.
 
Joined
Apr 30, 2007
Messages
2,339
Reaction score
1,547
Nothing wrong with C# and Java, the problem is that lots of people don't know how to properly style their code, understand how to fix memory leaks and/or don't know how to increase server performance.

It's going to happen in any project where there's a lack of programming etiquette regardless of language.

Yeah but I get bored of seeing the same recycled stuff. C# with Log4Net, SocketAsync, and MySql.Data, and Java with Netty, Log4J, Maven etc.

The only thing bad about this being in Python is I don't think things like this should be made in scripting languages, regardless of how good it performs.
 
Experienced Elementalist
Joined
May 30, 2013
Messages
288
Reaction score
242
Python is simply too slow to be used for any multiple user game server. PyPy may have a change, but still.
 
Newbie Spellweaver
Joined
Jun 8, 2012
Messages
10
Reaction score
2
Hehe thanks for sharing Blaze here, I take to clarify that to continue its development should solve the problem of cyclic imports accidentally produced.
~Regards KrozT.
 
Experienced Elementalist
Joined
Mar 18, 2007
Messages
211
Reaction score
223
Yeah but I get bored of seeing the same recycled stuff. C# with Log4Net, SocketAsync, and MySql.Data, and Java with Netty, Log4J, Maven etc.

The only thing bad about this being in Python is I don't think things like this should be made in scripting languages, regardless of how good it performs.

But the things you say are recycled are the foundation to keeping a clean emulator?
Plus on the topic of c#, the only emulator with all the things listed is Mango and that didn't get completed?
Not only that, the emulators that use the optional nuget resources and references haven't used them properly.

Let's hope boredom doesn't lead to bad code..
 
topkek amirite??
Joined
May 16, 2009
Messages
751
Reaction score
696
But the things you say are recycled are the foundation to keeping a clean emulator?
Plus on the topic of c#, the only emulator with all the things listed is Mango and that didn't get completed?
Not only that, the emulators that use the optional nuget resources and references haven't used them properly.

Let's hope boredom doesn't lead to bad code..
Don't waste your time, he doesn't know what he's talking about. :p:
 
Ask me about Daoism
Loyal Member
Joined
Nov 6, 2010
Messages
1,560
Reaction score
393
He actually has a point though (which he doesn't specify explicitly). I would argue that scripting languages such as JS, PhP and Python does not scale as well (in terms of code-base and often performance as well) compared to C#, Java and so forth. But people that doesn't follow language conventions in terms of formatting and naming is another story that isn't really relevant.

Basically how this conversation goes between us:

"I wanna live in a meritocracy.."
"Let us destroy this time-tested language called PHP in favor of Google's Go! language!!!"

Not that PHP is a wonderful language, but it makes the most sense to me, in terms of server-side web languages (besides Node.JS)

This thread centers on an interesting shift. Most beginner programmers start out learning Python these days, so our future could be filled with the lovely things called scripts.

In the long run, though, what's going to matter is durability: you can't use a language that loses support and evolves too quickly. Infrastructures need to be able to remain somewhat concrete, rather than all-flowing. Gotta have something tangible somewhere.

Just take HoloCMS and PHPRetro: as soon as the PHP team drops a few functions in favor of new versions/functions, the entire thing breaks down. PHPRetro isn't terribly old, either; if a company were using it, it would, indeed, be a gradual shift to update the system to new standards, but it'd be an expensive one over time.

EDIT:

I just realized, these threads are totally SportsCenter for developers. They're comprised of talking heads voicing their own grievances and opinions about players in the tech community, like languages, which will never have an effect on the outcome, nor is it critical news/information for anybody.

Also, it's probably the 50th episode of the day.
 
Last edited:
Initiate Mage
Joined
May 4, 2015
Messages
4
Reaction score
0
That looks very good. Good luck!

Greetz,
​Imaginary
 
Status
Not open for further replies.
Back
Top