- 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
Habbo.swfInfo
BitBucket
Download
You must be registered to see links
DatabaseInfo
Version: RELEASE63-201409222303-304766480
Download
You must be registered to see links
Version: RELEASE63-201410151001-47842918
Download
You must be registered to see links
Info
Complete Database
Download
Included on Emulator Download
Complete SWF for hMercury
You must be registered to see links
Habbo.com Webgallery
You must be registered to see links
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
1.You must be registered to see links
2.You must be registered to see links
3.You must be registered to see links
4.You must be registered to see links
5.You must be registered to see links,You must be registered to see links,You must be registered to see links
6.You must be registered to see links,You must be registered to see links,You must be registered to see links
7.You must be registered to see links,You must be registered to see links
Repository
-You must be registered to see links
Net Framework 4.6
You must be registered to see links
Issues and Bugs
-You must be registered to see links
Bug List
-You must be registered to see links
Team
- Boris
- Antonio
- Antoine
- Claudio
- Jonas
- VabboH
- Maartenvn
- Anderson
- Jamal
Thanks, for Your Help, And this is Forever FREE, Don't Remove the Copyright
Attachments
You must be registered for see attachments list
Last edited: