• 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.

hMercury [C#] [SharpNetty] [Linq] [OS]

Status
Not open for further replies.
git bisect -m
Loyal Member
Joined
Sep 2, 2011
Messages
2,171
Reaction score
916
THIS IS NOT A THREAD FOR HELP



What is hMercury?
It is the re-writing of Mercury Emulator and its Nucleus. In addition to "adjust" and "fix" badly-written code, correct structures ill-made ​​database, Fix vulnerabilities database, Structures and Improve Speed, Adding System.Linq, Griffin.Networking, LinqDB, log4net, between other means. Insert system Buffers in "packtes" Insert multiple system releases with support in connection Both Adjust the "threads", use HybridDictionarys, and other tools of the Net Framework 4.5, Providing all the features of Habbo Hotel or in part . In addition to providing an open source code and Free. Provide a system of languages​​, among many other items. hMercury is holoMercury, recalling the era of "Meth0d" one of the pioneers in Systems Private Habbo Hotel, with its "holograph emulator". the hMercury is a reconstruction of the good times. This is hMercury.


Was is Multiple Incoming?
It's the Packets from Incoming and Outgoing in a Folder Called Packets, you can Change the Packets without Recompile or Restart the Emulator, and More you can Handshake More than 1 Releases (Must have Same RSA Keys :/)


Features
- Now Changed to Griffin.Networking
- LinqDB (Supports Now: Oracle, Ingress, MySQL, FireBird, PgSQL, SqLite)
- WinConsole (Makes Trace from Output and More)
- AutoClear
- Debug Mode with Appart Console
- Builders Club
- Camera
- New Release from 22 Sptember
- Multiple Incoming System
- log4Net
- New Navigator
- Super Wireds
- Pet Breeding
- New Polls
- Habbo Alphas
- All Code Normalized to attempt the C# Coding Rules.
- BattleBanzai 100%
- Bots 100%
- RunFastQuery edited to fix the vulnerabilites
- More wireds are coded (70% of SuperWired Working)
- Using new .Net 4.5.3 methods
- New Commands


Snippet LibraryParser.cs
PHP:
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Mercury.Configuration;
using Mercury.Messages.Handlers;

namespace Mercury.Messages.Parsers
{
    static class LibraryParser
    {
        internal static Dictionary<int, StaticRequestHandler> Incoming;
        internal static Dictionary<string, string> Library;
        internal static Dictionary<string, int> Outgoing;
        internal static int CountReleases;
        internal static string ReleaseName;

        public delegate void ParamLess();

        internal delegate void StaticRequestHandler(GameClientMessageHandler handler);

        public static int OutgoingRequest(string packetName)
        {
            if (!Outgoing.ContainsKey(packetName))
                return 0;
            var packetId = Convert.ToInt32(Outgoing[packetName]);
            return packetId;
        }

        public static void LibRequest(string handler) { }

        public static void Initialize()
        {
            Logging.WriteLine(string.Format("Loaded {0} Habbo Releases", CountReleases), ConsoleColor.Cyan);
            Logging.WriteLine(string.Format("Loaded {0} Event Controllers", Incoming.Count), ConsoleColor.Cyan);
        }

        public static void HandlePacket(GameClientMessageHandler handler, ClientMessage message)
        {
            if (message.Id == 4000)
            {
            }
            else if (Incoming.ContainsKey(message.Id))
            {
                if (MercuryEnvironment.Debugmode)
                    Logging.WriteLine(string.Format("[Incoming] Handled  {0}", message), ConsoleColor.Green);
                var staticRequestHandler = Incoming[message.Id];
                staticRequestHandler(handler);
            }
            else if (MercuryEnvironment.Debugmode)
                Logging.WriteLine(string.Format("[Incoming] Refused  {0}", message), ConsoleColor.Red);
        }

        internal static void ReloadDictionarys()
        {
            Incoming.Clear();
            Outgoing.Clear();
            Library.Clear();
        }

        internal static void RegisterIncoming()
        {
            CountReleases = 0;
            var filePaths = Directory.GetFiles(string.Format("{0}\\Packets", Application.StartupPath), "*.incoming");
            foreach (var currentFile in filePaths)
            {
                CountReleases += 1;
                var fileContents = File.ReadAllLines(currentFile, Encoding.UTF8);
                foreach (var line in fileContents)
                {
                    var fields = line.Split('=');

                    var packetName = fields[0];
                    if (fields[1].Contains("x") || fields[1].Contains("X"))
                    {
                        var packetId = (int)new System.ComponentModel.Int32Converter().ConvertFromString(fields[1]);
                        if (!Library.ContainsKey(packetName))
                            continue;
                        var libValue = Library[packetName];
                        var del =
                            (PacketLibrary.GetProperty)
                                Delegate.CreateDelegate(typeof (PacketLibrary.GetProperty), typeof (PacketLibrary),
                                    libValue);
                        if (Incoming.ContainsKey(packetId))
                            Console.WriteLine(
                                "> Sorry but In anyone Release Have the Same Packet Ids and This can't Happen, you must change the Id..");
                        else
                            Incoming.Add(packetId, new StaticRequestHandler(del));
                    }
                    else
                    {
                        var packetId = Convert.ToInt32(fields[1]);
                        if (!Library.ContainsKey(packetName))
                            continue;
                        var libValue = Library[packetName];
                        var del =
                            (PacketLibrary.GetProperty)
                                Delegate.CreateDelegate(typeof (PacketLibrary.GetProperty), typeof (PacketLibrary),
                                    libValue);
                        if (Incoming.ContainsKey(packetId))
                            Console.WriteLine(
                                "> Sorry but In anyone Release Have the Same Packet Ids and This can't Happen, you must change the Id..");
                        else
                            Incoming.Add(packetId, new StaticRequestHandler(del));
                    }
                }
            }
        }

        internal static void RegisterOutgoing()
        {
            var filePaths = Directory.GetFiles(string.Format("{0}\\Packets", Application.StartupPath), "*.outgoing");
            foreach (var fileContents in filePaths.Select(File.ReadAllLines))
            {
                foreach (var line in fileContents)
                {
                    var fields = line.Split('=');
                    var packetName = fields[0];
                    var packetId = int.Parse(fields[1]);
                    Outgoing.Add(packetName, packetId);
                }
            }
        }

        internal static void RegisterLibrary()
        {
            var filePaths = Directory.GetFiles(string.Format("{0}\\Packets", Application.StartupPath), "*.library");
            foreach (var fileContents in filePaths.Select(File.ReadAllLines))
            {
                foreach (var line in fileContents)
                {
                    var fields = line.Split('=');
                    var incomingName = fields[0];
                    var libraryName = fields[1];
                    Library.Add(incomingName, libraryName);
                }
            }
        }
    }
}


Bugs
- Help Tickets Doesn't Works
- Place Same Item Doesnt Work
- Report Forum Thread gives Disconnect


SWF Versions
- RELEASE63-201410151001-47842918 (On Development)
- RELEASE63-201409222303-304766480 (Done, And Working)


Version
ɣ (11/12/14)


Downloads
Emulator
Info
BitBucket
Download
Click Here
Habbo.swf
Info
Version: RELEASE63-201409222303-304766480
Download
Click Here
Version: RELEASE63-201410151001-47842918
Download
Click Here
Database
Info
Complete Database
Download
Included on Emulator Download


Complete SWF for hMercury

Habbo.com Webgallery


Instructions
1º - Download the Branch
2º - Import the Database.sql
3º - Open the folder: "hMercury/Mercury.Emulator/Buildings/" Copy the Content of The Folder
4º - Create the Folder: "hMercury/bin/Debug/"
5º - Paste the Content
6º - Open your C# IDE
7º - Build or Debug the Solution
8º - Open the Emulator
9º - Enjoy and Be Happy


Screens


Repository


Net Framework 4.6


Issues and Bugs


Bug List


Team
- Boris
- Antonio
- Antoine
- Claudio
- Jonas
- VabboH
- Maartenvn
- Anderson
- Jamal

Thanks, for Your Help, And this is Forever FREE, Don't Remove the Copyright ;)
 
Last edited:
Junior Spellweaver
Joined
Sep 29, 2012
Messages
112
Reaction score
9
Actually just the Mercury catalogue works with this. So, that's not a problem. And here, i still have a copy of the clean Database of this, i just tested it, and it works with this. so,

Click
 
Newbie Spellweaver
Joined
Apr 19, 2014
Messages
47
Reaction score
2
can someone help me The texts do not load and the functions do not go all

Has anyone also Such problem.


ovflowd - hMercury  [C#] [SharpNetty] [Linq] [OS] - RaGEZONE Forums

Code:
room.camera.button.text=Camera
room.camera.button.tooltip=Use Camera
room.chathistory.button.text=Chat History
room.zoom.button.text=Zoom
room.like.button.text=I like it
room.like.button.tooltip=I like this room
room.settings.button.text=Settings
room.settings.button.tooltip=Open settings
chat.history.button.tooltip=View Chat History
 
Last edited:
Banned
Banned
Joined
Feb 9, 2007
Messages
1,313
Reaction score
177
Looks like a very good and professional development, good luck with this. ( It's another Brazilian person coming with a awesome development! ).
 
Rogu3
Joined
May 11, 2012
Messages
933
Reaction score
508
Exprevita said:
Hey, where do I get .NET Framework 4.5.3 from? Can't find it anywhere on the internet but it's needed to run it.
.NET Framework 4.5.3 should literally be the easiest thing to find ever. Google it, it's also included in the OP.
 
Skilled Illusionist
Joined
Jul 30, 2008
Messages
340
Reaction score
50
.NET Framework 4.5.3 should literally be the easiest thing to find ever. Google it, it's also included in the OP.

Well it's not, i can't even find it on the microsoft website. Only softonic download link's, and those are fucked up because malware.

Got a newer version then 4.5. poop doesn't work, gimme a dlink?!
 
Skilled Illusionist
Joined
Jul 30, 2008
Messages
340
Reaction score
50
I know this is not a help thread, and i am really sorry if you gonna hate me for posting this screen in here. But can you manage to help me?

I really need to get my retro online.
 
Status
Not open for further replies.
Back
Top