WoW Emu: How it Works/Choosing menu

User Tag List

Results 1 to 11 of 11
  1. #1
    jerry809's Avatar Active Member
    Reputation
    25
    Join Date
    Feb 2008
    Posts
    45
    Thanks G/R
    1/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    WoW Emu: How it Works/Choosing an Emulator

    WoW Emulation Basics!


    By MultiRealms... known as Jerry8099 in other forums
    ***Based on Personal Use; Use of these emulators varies ***


    -----------------------------------------------------------------------
    Introduction...

    The following thread is to inform you on how WoW Emulation works and what emulation software is recommended for the beginner.

    First lets talk about what Emulation is...

    Emulation = In computing terms it is the development of hardware/software that copies a service. Trying to copy its use.

    In this introduction towards World of Warcraft Emulation, we will be taking a look in how the game is emulated, the importance of knowing its code, choosing an appropriate emulator, and its legal information.

    So lets begin!

    -----------------------------------------------------------------------
    How It Works!


    I basically broke this up into two section.. Section One tells you how a WoW Emulator uses different coding methods to make a world ...

    while Section Two takes a step further and thoroughly explains the process! (LONG)

    Option One: How an WoW Emulator works

    An WoW Emulator:

    - Optimizes DBC/Map files to create world
    - Uses C++ to create multi-functional gameplay
    - Uses MySQL to store ingame data such as accounts/items/etc.
    - Creates an Network which allows for multiplayer use. (using C++)




    Option Two: A Deeper Look into WoW Emulation Development



    Now... let me start by saying that WoW Emulation Development is a VERY complex process.
    But for the sake of simplicity, this is HOW IT WORKS IN A NUT SHELL..

    Before an emulation project successfully works, coders decide which code they will program this in, now in WoW Emulation the most common is C++.

    Then coders extract map/dbc files from the WoW client, using tools to extract them. (hack)

    Once they start coding the project, they make the code use the dbc/map files. This generates the game world, Azeroth/Outlands <3.

    This just creates a blank world, this world is useless! So then coders start filling out data - that start shaping up the game we know and love.
    Using C++ (an object orientated programming code), developers are able to start creating Player movement, interface, stats, attack mechanics, spell use, talents, & other game mechanics.
    Also in this process developers add the MultiPlayer (networking) functionality and also add the requirement* for the .dbc/.maps be used to create the world, etc.
    *read legal information for the reason behind this...

    This is cool cause it allows for game functionality but...

    It's still a BORING world!
    There needs to be NPCs, Quests, Dungeons, and more goodies..!
    Sadly C++ cannot store this data without it consuming A LOT of memory...this is where MySQL comes to the rescue!!

    So coders tell C++ to communicate with MySQL databases... in these databases are tables which tell the emulators how much NPC's health they have, what loot they drop etc.
    This is also where character/account data is also stored...

    NOTE: These databases aren't magically made out of the blue, they are filled in by Database teams. This is HUGE because you have to remember that WoW has thousands of content in-game!
    **Fun Fact: Reason why database tables have weird field names is because they correspond to Blizzard's maps/dbc fields inside the files! **

    So now the world is populated with your normal NPC's that attack... but their is no working battlegrounds, arenas, boss encounters, etc.
    So this is where C++ developers step in and start adding scripts which add into the basic core, this is where boss encounters/gossip creatures/bg's/arena's are BORN!

    This basically sums up WoW Emulation Development, possibly the BEST reverse engineering example on the interwebz. <3 <3 <3




    ----------------------------------------------------------------------------------------------------------------------------------------------------

    WHY LEARNING CODE IS ESSENTIAL!
    Now if you read either section/option you might have figured out that learning the programming is vital to understanding all this... so the question is...
    Why learn these code language(s)?

    Here are the reasons:

    C++
    It's the universal language of these two emulators, and MOST of the gaming/emulating industry's standard in coding.!
    Therefore C++ is useful because:

    • Its Fast! - C++ was designed for performance! Therefore more responsive emulators!
    • It's Flexible! - There are so many possibilities due to the language's diverse "styles" of structure
    • Well-Supported !- It is used by many different languages therefore more variety of programming! (if you want to be a programmer!)
    • It's AWESOME for Emulators - Due to its speed it can really load events/creature fights very fast and effective!


    SQL
    It's a language which stores data (as queries) which can be read by many other languages such as C++, C#, Python, PHP, etc.

    SQL is useful beacuse:

    • Learning it allows for Website interactive features! *site connects to db, via PHP, to modify guilds/characters/etc.
    • Understand the Database and it's content!
    • Create custom content [ITEMS,NPCS,QUESTS,ETC.]


    LUA
    It's a language which is affects many released game's Interface!
    Mainly coded for WoW Addons it is also used in some Emulators.

    LUA is useful beacuse:

    • Allows for an alternative & sometimes easier way of creating smart objects/creatures/events
    • Learn to make Addons!
    • Create Systems that interact with C++
    • ----------------------------------------------------------------------------------------------------------------------------------------------------

      Choosing An Emulator
      TrinityCore / MaNGoS
      PROS

      • Very Stable
      • Active Updates (Trinity Core actually updates more often)
      • Scripting is based on C++
      • Cleaner Code [Trinity in particular/No Burlex coding]

      CONS

      • Seems to be aiming development towards 4.x [Good yet bad for some]
      • Community Unofficially support Modding/Custom
      • Only limited towards SQL/C++

      ArcEmu
      PROS

      • Very Stable *Depending on release
      • Active Updates
      • Scripting is based on C++/LUA
        (LUA=a Simple Scripting Language)
      • Community Officially Supports Modification/Customization of Code

      CONS

      • Seems to be developing towards 3.3.5 still [due to being a bit behind compared to other emu's]
      • Slightly more bugs than Trinity
      • LUA loads slower than C++
    • ----------------------------------------------------------------------------------------------------------------------------------------------------
      Legal Information:
    Emulators, such as TrinityCore, are LEGAL!
    Why?

    Because in their Terms of Agreements they are stating they are sharing an open source project
    in which they use files to create a virtual server in which people can connect and play,
    but to be used for educational purposes. *CODING TESTING etc.*


    Private servers are NOT legal because the files in which Emulators use (Maps/DBC) are copyrighted&ToA of Blizzard Entertainment.
    Therefore this can lead to a potential trial against Blizzard.
    *This explains why Emulators don't provide DBC/Map files. just extractors! *


    FORTUNATELY - Blizzard has always been kind and shuts down servers without much legal punishment!

    ----------------------------------------------------------------------------------------------------------------------------------------------------
    As you can tell emulation is very interesting!
    I've been doing it for almost 5 years now! Anyways...
    Thanks for reading! Good luck!


    - Jerry

    P.S. Please discuss any issues etc.! I'd be happy to help!

    Last edited by jerry809; 12-23-2011 at 04:06 PM. Reason: ReStructured/Rewrote all the sections :)

    WoW Emu: How it Works/Choosing
  2. #2
    2dgreengiant's Avatar ★ Elder ★


    Reputation
    1192
    Join Date
    Feb 2007
    Posts
    7,129
    Thanks G/R
    1/3
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Great guide

    FORTUNATELY - Blizzard has always been kind and shuts down servers without much legal punishment!
    By suing you for $250k :P
    If you need me you have my skype, if you don't have my skype then you don't need me.

  3. #3
    wowsc4p3's Avatar Active Member
    Reputation
    59
    Join Date
    Nov 2007
    Posts
    380
    Thanks G/R
    0/2
    Trade Feedback
    2 (100%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by 2dgreengiant View Post
    Great guide

    --QUOTE

    By suing you for $250k :P
    Yehhhh and that isn't a legal punishment? :facepalm:

  4. #4
    jerry809's Avatar Active Member
    Reputation
    25
    Join Date
    Feb 2008
    Posts
    45
    Thanks G/R
    1/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    well I remembered the DMCA emails that made Ani-WoW, Toxic-WoW, and all those servers close down.. NOT much legal punishment there ^^


    as with other emulator coders who have been approached by Blizzard to stop any emulation/hacking work on WoW

    Wowscape is another story..
    Last edited by jerry809; 12-17-2011 at 04:45 AM.
    "A Private Server tends to be temporary, but a EMU Project can last for Eternity"
    -MultiRealms, WoWps Forum, June 30, 2009-

  5. #5
    jerry809's Avatar Active Member
    Reputation
    25
    Join Date
    Feb 2008
    Posts
    45
    Thanks G/R
    1/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Added a proper introduction, restructured the sections, and rewrote How it Works! (since i originally wrote it at 3 AM and didn't make much sense)

    Anyways feedback is appreciated

  6. #6
    Maccer's Avatar gay secks CoreCoins Purchaser
    Reputation
    707
    Join Date
    Jul 2010
    Posts
    522
    Thanks G/R
    40/10
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I always thought emulation is uninteresting and boring, but this was a "fun" guide, you should add more content, looking forward to it.
    +2xRep
    Leecher --> Member --> Contributor --> Elite --> News Team --> Elite --> Legendary --> Lurkin'

  7. #7
    Ballwinkle's Avatar Contributor Authenticator enabled
    Reputation
    124
    Join Date
    Mar 2007
    Posts
    662
    Thanks G/R
    0/12
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    How it works could be more accurate

    [IMG]https://www.*************/result/48095204.png[/IMG]

  8. #8
    AssasinxXx's Avatar Member
    Reputation
    2
    Join Date
    Jun 2007
    Posts
    12
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I think blizzard tend to shut down servers that have a donation system in place, Free servers dont generate any income and so it would cost Blizzard more going after the Free servers then the Donate ones.

  9. #9
    smakapotatis's Avatar Member
    Reputation
    9
    Join Date
    Dec 2007
    Posts
    37
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    How can mangos and trinitycore be under the same description? Trinity forked more then three years ago.
    Also, its not only the extracted files that are illegal, <emulating> is a direct violation against terms of use.

  10. #10
    jerry809's Avatar Active Member
    Reputation
    25
    Join Date
    Feb 2008
    Posts
    45
    Thanks G/R
    1/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Well sorry for my absence I've been celebrating the holidays !! hehe Hope everyone had a swell time!

    Anyways..

    @DanzaKuduro: Thank you! I will be adding more content in the coming weeks/months.

    @Ballwinkle: Alrighty... just made it simple for beginners could understand it

    @AssasinxXx: That is very true, but there are some servers that were just shutdown for instance their was a server named Ani-WoW which generated income and was just shutdown by blizzard. (no LEGAL punishment)

    @Smakapotatis: That is true but it was still based off MaNGoS ... their still bound to be some/most of the same code, but TrinityCore has in fact made a lot of changes... :S Also.. I did mention that emulation is against the Terms of Agreements (ToA)
    "A Private Server tends to be temporary, but a EMU Project can last for Eternity"
    -MultiRealms, WoWps Forum, June 30, 2009-

  11. #11
    antodan323's Avatar Member
    Reputation
    1
    Join Date
    Aug 2012
    Posts
    9
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    [post redacted]
    Last edited by antodan323; 07-15-2018 at 10:32 PM.

Similar Threads

  1. WoW Emu Section (How to Make Your Own WoW Server)
    By Errage in forum Suggestions
    Replies: 8
    Last Post: 08-21-2007, 11:53 PM
  2. Replies: 27
    Last Post: 08-13-2007, 07:03 AM
  3. How do i do this spell?wow emu
    By mchugh in forum World of Warcraft General
    Replies: 2
    Last Post: 12-27-2006, 03:58 AM
All times are GMT -5. The time now is 10:23 PM. Powered by vBulletin® Version 4.2.3
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. User Alert System provided by Advanced User Tagging (Pro) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
Google Authenticator verification provided by Two-Factor Authentication (Free) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
Digital Point modules: Sphinx-based search