Emulation: The Basics. menu

User Tag List

Page 1 of 3 123 LastLast
Results 1 to 15 of 39
  1. #1
    Found's Avatar Banned
    Reputation
    239
    Join Date
    Mar 2009
    Posts
    642
    Thanks G/R
    1/4
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Emulation: The Basics.

    Welcome. I was new once here on MMOwned, and damn have I learned alot since March, I mean A lot!. And I know everyone has to start somewhere and to be completely honest I didn't know where to start. I looked continuously to find posts to help me in the emulation world. I wanted to be able to do some of the things I saw on here and I was just furious that i couldn't learn. Eventually I figured out after experimenting very much and trying to make servers and script instances make items, mobs, and all of that stuff that people do on servers. And I was envious. So I learned I leeched to the point of being here for a few months and no rep. But now I'm a contributor and I am not hated anymore. And that's because of Emulation.

    In the guide I will teach:


    I will be adding more to the mangos side of things, so please dont worry bout that.

    I - What is Emulation
    II - Vocabulary
    III - What is LUA
    IV - What is C++
    V - What is Mangos
    VI - What is ArcEmu
    VII - What is SQL
    VIII - What is compiling
    IX - What are GM commands, how to use them and a list of them.
    X - How to go public.
    XI - Repacks
    XII - Customizing your core. (DBC edits etc.)


    I hope some of these guides and definitions will be helpful and I hope you guys are helped by these things as I was. Let's begin.


    I - What is Emulation

    Q: What is emulation?
    A: An emulator in computer sciences duplicates (provides an emulation of)
    the functions of one system using a different system, so that the second system behaves like (and appears to be)
    the first system.
    This focus on exact reproduction of external behavior is in contrast to some other forms of computer simulation, which can concern an abstract model of the system being simulated.
    And to simplify this emulation is a replica of the original for your needs and testing of what you want and how you want it.


    II - Vocabulary

    Emulation - An emulator in computer sciences duplicates (provides an emulation of) the functions of one system using a different system, so that the second system behaves like (and appears to be) the first system. This focus on exact reproduction of external behavior is in contrast to some other forms of computer simulation, which can concern an abstract model of the system being simulated.

    Private Server - A world of warcraft server privately owned by someone who either runs it or plays on it and allows otehr people to play on it (note they are illigal and blizz hates em).

    SQL - SQL (Structured Query Language) is a database computer language designed for managing data in relational database management systems (RDBMS), and originally based upon Relational Algebra. Its scope includes data query and update, schema creation and modification, and data access control. SQL was one of the first languages for Edgar F. Codd's relational model in his influential 1970 paper, "A Relational Model of Data for Large Shared Data Banks" and became the most widely used language for relational databases.

    LUA - LUA is a lightweight, reflective, imperative and functional programming language, designed as a scripting language with extensible semantics as a primary goal. The name comes from the Portuguese word lua meaning "moon". Lua has a relatively simple C API compared to other scripting languages.

    Because both Lua and JavaScript use prototype-based objects and were influenced by Scheme, they feature many common semantics, despite the great differences in syntax. In its design, Lua is also similar to Icon, perhaps due to both of them being influenced by SNOBOL.

    Lua is widely used in the video game industry. Apart from games, Lua has been used in many applications, both commercial and non-commercial.


    C++
    - C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as a middle-level language, as it comprises a combination of both high-level and low-level language features.[1] It was developed by Bjarne Stroustrup starting in 1979 at Bell Labs as an enhancement to the C programming language and originally named "C with Classes". It was renamed to C++ in 1983.

    C++ is widely used in the software industry, and remains one of the most popular languages ever created. Some of its application domains include systems software, application software, device drivers, embedded software, high-performance server and client applications, and entertainment software such as video games. Several groups provide both free and proprietary C++ compiler software, including the GNU Project, Microsoft, Intel, Borland and others.

    C++ is also used for hardware design, where design is initially described in C++, then analyzed, architecturally constrained, and scheduled to create a register transfer level hardware description language via high-level synthesis.

    The language began as enhancements to C, first adding classes, then virtual functions, operator overloading, multiple inheritance, templates, and exception handling among other features. After years of development, the C++ programming language standard was ratified in 1998 as ISO/IEC 14882:1998. That standard is still current, but is amended by the 2003 technical corrigendum, ISO/IEC 14882:2003. The next standard version (known informally as C++0x) is in development. used to make bosses commands and is the central for of the private server


    Game master - A Gamemaster, Game Master or Game Manager (often abbreviated as GM) is a player in a multiplayer game who acts as organizer, arbitrator, and officiant in rules situations. They are most common in co-operative games where the other players work together and are less common in competitive games where the other players battle one another.

    Today, gamemaster is usually associated with role-playing games. In a role-playing game the 'Gamemaster's purpose is to weave the other participants' player-character stories together, control the non-player aspects of the game, and create environments in which the players can interact. The basic roles of Gamemasters - rules help, moderation, and storytelling - are the same in almost all role-playing games, although differing rulesets make the specific duties of the GM unique to that system.


    Custom - Personalized to ones needs.

    mangos - The MaNGOS project is a full featured World of Warcraft server suite, including servers for authentication, client updates, world content serving, and battlegrounds. Additional features include tools to build and develop game content.

    MaNGOS is an educational project. This means, our primary interest is to learn and teach us and our users more about C++ project development in a large scale. Our software is not intended for running public servers, and we do not support that.


    arc emu - ArcEmu is an Open Source World of Warcraft server, which is x86 compatible (including Pentium® and Athlon™), amd64 compatible, and PowerPC compatible. It is currently developed and maintained by a team of individuals. The server is written in C++ and offers advanced networking, performance, ingame anti-hack security, and unique features today which are still missing in other emulators.


    gm commands - GM commands are the commands you type in that allow you to control the game however you wish and you have complete control.

    game object - The objects added to the game in order to make structures, ex: rock, fire, stormwind.

    dns - The Domain Name System (DNS) is a hierarchical naming system for computers, services, or any resource connected to the Internet or a private network. It associates various information with domain names assigned to each of the participants. Most importantly, it translates domain names meaningful to humans into the numerical (binary) identifiers associated with networking equipment for the purpose of locating and addressing these devices worldwide. An often used analogy to explain the Domain Name System is that it serves as the "phone book" for the Internet by translating human-friendly computer hostnames into IP addresses. For example, Example Web Page translates to 208.77.188.166.

    The Domain Name System makes it possible to assign domain names to groups of Internet users in a meaningful way, independent of each user's physical location. Because of this, World-Wide Web (WWW) hyperlinks and Internet contact information can remain consistent and constant even if the current Internet routing arrangements change or the participant uses a mobile device. Internet domain names are easier to remember than IP addresses such as 208.77.188.166 (IPv4) or 2001:db8:1f70::999:de8:7648:6e8 (IPv6). People take advantage of this when they recite meaningful URLs and e-mail addresses without having to know how the machine will actually locate them.

    The Domain Name System distributes the responsibility of assigning domain names and mapping those names to IP addresses by designating authoritative name servers for each domain. Authoritative name servers are assigned to be responsible for their particular domains, and in turn can assign other authoritative name servers for their sub-domains. This mechanism has made the DNS distributed, fault tolerant, and helped avoid the need for a single central register to be continually consulted and updated.

    In general, the Domain Name System also stores other types of information, such as the list of mail servers that accept email for a given Internet domain. By providing a worldwide, distributed keyword-based redirection service, the Domain Name System is an essential component of the functionality of the Internet.

    Other identifiers such as RFID tags, UPC codes, International characters in email addresses and host names, and a variety of other identifiers could all potentially utilize DNS.

    The Domain Name System also defines the technical underpinnings of the functionality of this database service. For this purpose it defines the DNS protocol, a detailed specification of the data structures and communication exchanges used in DNS, as part of the Internet Protocol Suite (TCP/IP). The DNS protocol was developed and defined in the early 1980s and published by the Internet Engineering Task Force (cf. History).


    my sql - MySQL is a relational database management system (RDBMS) that has more than 11 million installations. MySQL stands for "My Structured Query Language". The program runs as a server providing multi-user access to a number of databases. MySQL is officially pronounced /maɪˌɛskjuːˈɛl/ (My S-Q-L), but often pronounced /maɪˌsiː'kwɛl/ (My SEQuel).

    The project has made its source code available under the terms of the GNU General Public License, as well as under a variety of proprietary agreements. MySQL is owned and sponsored by a single for-profit firm, the Swedish company MySQL AB, now a subsidiary of Sun Microsystems. As of 2009[update] Oracle Corporation began the process of acquiring Sun Microsystems.

    MySQL is often used in free software projects that require a full-featured database management system, such as WordPress, phpBB and other software built on the LAMP software stack. It is also used in many high-profile, large-scale World Wide Web products including Wikipedia, Google and Facebook.


    (leave comments if more need added) and sorry for the wall of text.

    III - What is LUA

    Lua was created in 1993 by Roberto Ierusalimschy, Luiz Henrique de Figueiredo, and Waldemar Celes, members of the Computer Graphics Technology Group (Tecgraf) at the Pontifical Catholic University of Rio de Janeiro, in Brazil.

    From 1977 until 1992, Brazil had a policy of strong trade barriers (called a 'market reserve') for computer hardware and software motivated by a nationalistic feeling that Brazil could and should produce its own hardware and software. In that atmosphere, Tecgraf's clients could not afford, either politically or financially, to buy customized software from abroad. Added to the natural geographical isolation of Brazil from other research and development centers, those reasons led Tecgraf to implement from scratch the basic tools it needed.[1]

    Lua's historical 'father and mother' were data-description/configuration languages SOL (Simple Object Language) and DEL (data-entry language).[2] They had been independently developed at Tecgraf in 1992-1993 to add some flexibility into two different projects (both were interactive graphical programs for engineering applications at Petrobras company). There was a lack of any flow control structures in SOL and DEL, and a continuously growing need for a full programming power to them.

    In 1993, the only real contender was Tcl, which had been explicitly designed to be embedded into applications. However, Tcl had unfamiliar syntax, did not offer good support for data description, and ran only on Unix platforms. We did not consider LISP or Scheme because of their unfriendly syntax. Python was still in its infancy. In the free, do-it-yourself atmosphere that then reigned in Tecgraf, it was quite natural that we should try to develop our own scripting language... Because many potential users of the language were not professional programmers, the language should avoid cryptic syntax and semantics. The implementation of the new language should be highly portable, because Tecgraf's clients had a very diverse collection of computer platforms. Finally, since we expected that other Tecgraf products would also need to embed a scripting language, the new language should follow the example of SOL and be provided as a library with a C API.[1]

    So as a consequence, Lua was born. Lua 1.0 object constructors, being then slightly different from the current light and flexible style, had incorporated data-description syntax of SOL. (Hence the name Lua — sol is portuguese for sun.) Lua syntax for control structures was mostly borrowed from Modula (if, while, repeat/until), but also had taken influence from CLU (multiple assignments and multiple returns from function calls, as a simpler alternative to reference parameters or explicit pointers), C++ ("neat idea of allowing a local variable to be declared only where we need it"[1]), SNOBOL and AWK (associative arrays). In an article published in Dr. Dobb's Journal, Lua's creators also state that Lisp and Scheme with their single, ubiquitous data structure mechanism (the list) were a major influence on their decision to develop the table as the primary data structure of Lua.[3]

    Current Lua semantics was gained mainly from Scheme:

    Semantically, Lua has many similarities with Scheme, even though these similarities are not immediately clear because the two languages are syntactically very different. The influence of Scheme on Lua has gradually increased during Lua's evolution: initially, Scheme was just a language in the background, but later it became increasingly important as a source of inspiration, especially with the introduction of anonymous functions and full lexical scoping.[1]

    Versions of Lua prior to version 5.0 were released under a license similar to the BSD license. From version 5.0 onwards, Lua has been licensed under the MIT License..

    What does it have to do with wow. Well here is a vague description.



    Functions are blocks of code created to be called upon and do a specific task when your script is executed. The only way to initially call on a function is by having a certain Event happen to the scripted Unit(Whether it be a Creature, Gameobject, or Item)
    These triggering events are;


    Code:
    
    -Accepting a Quest
    -Completing a Quest
    -Canceling a Quest
    -Activating a Quest Gameobject
    -Killing a Creature Required for a Quest
    -Exploring an Area for a quest
    -Picking up an Item for a Quest
    -Creature Entering Combat
    -Creature Leaving Combat
    -Creature Killing an Enemy
    -Creature Dieing
    -Creature being Parried
    -Creature being Dodged
    -Creature being Blocked
    -Creature being Critically Hit
    -Creature Parrying
    -Creature Dodging
    -Creature Blocking??
    -Creature Critically Hitting
    -Creature Hitting
    -Creature Feared
    -Creature Flee
    -Creature Loading
    -Creature Reaching a Waypoint
    -Creature having loot taken from it
    -Creature Emoting
    -Gameobject being Created
    -Gameobject Spawning
    -Gameobject having loot taken from it
    -Gameobject being clicked/used
    -Gameobject Despawning
    -Talking to a Gossip Unit
    -Selecting an option from a Gossip Unit
    -Closing a Gossip Window / Ending it
     
    
    The Skeleton if you will, of a function must always look like this;
    Code:
    
    function FunctionName(Unit, Event)

    end

    When this function is called it will execute what is between the Skeleton. As stated above, it can only be initially called by a trigger event. To have a function called when a specific event happens
    you must register that function to do so. Below is the syntax used to register different types of Events.


    RegisterUnitEvent(NPCID, FLAG, "FunctionName")
    RegisterUnitGossipEvent(NPCID, FLAG, "FunctionName")
    RegisterItemGossipEvent(ItemID, FLAG, "Item_Trigger")
    RegisterGameObjectEvent(GoID, FLAG, "FunctionName")

    Replacing the NPC/item/Go Id's with the ones you will spawn in the world and use. the 'FLAG' is a number that indicates the event that the registered function will trigger on. Here is a breakdown of how to register an event.

    [NOTE]When Registering Events, you type it at the bottom or top of the script.
    Please remember that no function has to have any particular name. Not having "OnCombat" in the function name, won't affect if it gets triggered on combat, as long as its function name matches the name your registering, and you have the correct flag.

    Code:


    function Creature_OnCombat(Unit, Event)

    end

    RegisterUnitEvent(6, 1,"Creature_OnCombat")

    6: Is the NPCID of a Kobold Vermin, Change it to the NPCID you want to script.
    1: Is the Flag of the type of event you want this registered function to get triggered on.
    "Creature_OnCombat": Is the name of the function your registering to be executed when the Kobold enters combat.
    RegisterUnitEvent: Is used to Register a Unit/Creature Event.

    NPCID was 6 (For Kobold Vermin)
    EventFlag was 1 (To Register the function Creature_OnCombat when the kobold vermin enters combat
    FunctionName "Creature_OnCombat"





    Below is a Complete List of EventFlags you can use when registering an event.

    Code:


    Code:
    [QUEST EVENTS]
    	QUEST_EVENT_ON_ACCEPT = 1,
    	QUEST_EVENT_ON_COMPLETE = 2,
    	QUEST_EVENT_ON_CANCEL = 3,
    	QUEST_EVENT_GAMEOBJECT_ACTIVATE = 4,
    	QUEST_EVENT_ON_CREATURE_KILL  = 5,
    	QUEST_EVENT_ON_EXPLORE_AREA = 6,
    	QUEST_EVENT_ON_PLAYER_ITEMPICKUP = 7,
    	QUEST_EVENT_COUNT,
    [CREATURE EVENTS]
    	CREATURE_EVENT_ON_ENTER_COMBAT		= 1,
    	CREATURE_EVENT_ON_LEAVE_COMBAT		= 2,
    	CREATURE_EVENT_ON_TARGET_DIED		= 3,
    	CREATURE_EVENT_ON_DIED		= 4,
    	CREATURE_EVENT_ON_TARGET_PARRIED		= 5,
    	CREATURE_EVENT_ON_TARGET_DODGED		= 6,
    	CREATURE_EVENT_ON_TARGET_BLOCKED		= 7,
    	CREATURE_EVENT_ON_TARGET_CRIT_HIT		= 8,
    	CREATURE_EVENT_ON_PARRY		= 9,
    	CREATURE_EVENT_ON_DODGED		= 10,
    	CREATURE_EVENT_ON_BLOCKED		= 11,
    	CREATURE_EVENT_ON_CRIT_HIT		= 12,
    	CREATURE_EVENT_ON_HIT		= 13,
    	CREATURE_EVENT_ON_ASSIST_TARGET_DIED		= 14,
    	CREATURE_EVENT_ON_FEAR		= 15,
    	CREATURE_EVENT_ON_FLEE		= 16,
    	CREATURE_EVENT_ON_CALL_FOR_HELP		= 17,
    	CREATURE_EVENT_ON_LOAD		= 18,
    	CREATURE_EVENT_ON_REACH_WP		= 19,
    	CREATURE_EVENT_ON_LOOT_TAKEN		= 20,
    	CREATURE_EVENT_ON_AIUPDATE		= 21,
    	CREATURE_EVENT_ON_EMOTE		= 22,
    	CREATURE_EVENT_COUNT,
    [GAMEOBJECT EVENTS]
    	GAMEOBJECT_EVENT_ON_CREATE			= 1,
    	GAMEOBJECT_EVENT_ON_SPAWN			= 2,
    	GAMEOBJECT_EVENT_ON_LOOT_TAKEN		= 3,
    	GAMEOBJECT_EVENT_ON_USE				= 4,
    	GAMEOBJECT_EVENT_AIUPDATE			= 5,
    	GAMEOBJECT_EVENT_ON_DESPAWN			= 6,
    	GAMEOBJECT_EVENT_COUNT,
    [GOSSIP EVENTS]
    	GOSSIP_EVENT_ON_TALK			= 1,
    	GOSSIP_EVENT_ON_SELECT_OPTION	= 2,
    	GOSSIP_EVENT_ON_END             = 3,
    	GOSSIP_EVENT_COUNT,
    [RANDOM FLAGS]
    	RANDOM_ANY           = 0,
    	RANDOM_IN_SHORTRANGE = 1,
    	RANDOM_IN_MIDRANGE   = 2,
    	RANDOM_IN_LONGRANGE  = 3,
    	RANDOM_WITH_MANA     = 4,
    	RANDOM_WITH_RAGE     = 5,
    	RANDOM_WITH_ENERGY   = 6,
    	RANDOM_NOT_MAINTANK  = 7,
    	RANDOM_COUNT, 

    [NOTE]: 'RandomFlags' are generally used for creature targeting. hers an example.


    Code:

    Code:
    Unit:GetRandomPlayer(7)


    That will get a random player that is not the main tank. (Replacing the the 7 with a different flag when changing it of course).


    to Read the full guide visit Vision's TuT

    PART 2 IS ON NEXT POST.
    Last edited by Found; 03-10-2010 at 04:49 PM. Reason: additions

    Emulation: The Basics.
  2. #2
    Found's Avatar Banned
    Reputation
    239
    Join Date
    Mar 2009
    Posts
    642
    Thanks G/R
    1/4
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    IV - What is C++

    C++ is a object-oriented programming language

    C++ (pronounced "See plus plus") is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as a middle-level language, as it comprises a combination of both high-level and low-level language features.[1] It was developed by Bjarne Stroustrup starting in 1979 at Bell Labs as an enhancement to the C programming language and originally named "C with Classes". It was renamed to C++ in 1983.[2]

    C++ is widely used in the software industry, and remains one of the most popular languages ever created. Some of its application domains include systems software, application software, device drivers, embedded software, high-performance server and client applications, and entertainment software such as video games. Several groups provide both free and proprietary C++ compiler software, including the GNU Project, Microsoft, Intel, Borland and others.

    C++ is also used for hardware design, where design is initially described in C++, then analyzed, architecturally constrained, and scheduled to create a register transfer level hardware description language via high-level synthesis.


    The language began as enhancements to C, first adding classes, then virtual functions, operator overloading, multiple inheritance, templates, and exception handling among other features. After years of development, the C++ programming language standard was ratified in 1998 as ISO/IEC 14882:1998. That standard is still current, but is amended by the 2003 technical corrigendum, ISO/IEC 14882:2003. The next standard version (known informally as C++0x) is in development.

    Heres what its got to do with wow. And an example.

    Example C++ Gossip script!

    This is small C++ gossip script example/guide, it will teach you where 2 place most of functions, what 2 u place where and lot more small things that can help starter a lot.

    Script:

    Code:
    Code:
    
    /* 
    		C++ Gossip Script Example by Azolex
    */
    #include "StdAfx.h"
    #include "Setup.h"
    
    /*
             Configuration:
    */
    
    #define NPC_ID
    
    // Teleport stuff
    #define MapID
    #define xCoord
    #define yCoord
    #define zCoord
    #define Orientation
    
    // Morph Stuff
    #define ModelID
    
    // Buff Stuff
    #define BuffID
    
    // Learn Spell stuff
    #define Spell1ID
    #define Spell2ID
    
    class GossipExample : public GossipScript
    {
    public:
    	void Destroy()
    	{
    		delete this;
    	};
    
        void GossipHello(ObjectPointer pObject, PlayerPointer Plr, bool AutoSend)
        {
            GossipMenu *Menu;
            objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 933, Plr);
    
            Menu->AddItem(0, "Teleport", 0);
    	Menu->AddItem(0, "Morph", 1);
    	Menu->AddItem(0, "Buff", 2);
    	Menu->AddItem(0, "Learn", 3);
    
            if(AutoSend)
                Menu->SendTo(Plr);
        };
    
    	void GossipSelectOption(ObjectPointer pObject, PlayerPointer Plr, uint32 Id, uint32 IntId, const char * Code)
    	{
    
    	GossipMenu * Menu;
            switch(IntId)
            {
    		case 0: // IntId = 0, "Teleport"
    			Plr->SafeTeleport(MapID, InstanceID/*Can be left NULL but i suggest using Plr->GetInstanceID()*/, xCoord, yCoord, zCoord, Orientation);
    			break;
    		case 1: // IntId = 1, "Morph"
    			Plr->SetUInt32Value(UNIT_FIELD_DISPLAYID, ModelID);
    			break;
    		case 2: // IntId = 2, "Buff"
    			Plr->CastSpell( Plr, dbcSpell.LookupEntryForced(BuffID), true);
    			break;
    		case 3: // IntId = 3, "Learn"
    			objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 0, Plr);
    
    			Menu->AddItem(0, "Spell1", 4);
    			Menu->AddItem(0, "Spell2", 5);
    
    			Menu->SendTo(Plr);
    			break;
    		case 4: // IntId = 4, "Spell1"
    			Plr->addSpell(Spell1ID);
    			break;
    		case 5: // IntId = 5, "Spell2"
    			Plr->addSpell(Spell2ID);
    			break;
    		};
    	};
    };
    
    void SetupGuardGossip(ScriptMgr * mgr)
    {
    	GossipScript * Example = (GossipScript*) new GossipExample();
    	mgr->register_gossip_script(NPC_ID,  Example);	
    }
    IntId - Sets position and unique option id, it helps you 2 fully control selection.

    Menu - Menu pointer, it allows you to control menu.

    IconId - Menu item IconId, for example inkeeper, Bank, auction... i don't know Id's except that this(1) is normal Cloud.

    Now, using this template u can use some advanced functions, 2 modify something more than display id or 2 teach player spells, you can find them here:
    C++ Function Libery - Credits to Gastricpenguin.

    Now, before using this script you should populate configuration stuff, NPC_ID, ModelID and stuff. I hope this script helped you, if you have question ask it !


    credits to Azolex
    Read his guide
    http://www.mmowned.com/forums/emulat...r-command.htmlHere

    More C++ Guides

    http://www.mmowned.com/forums/emulat...r-command.html
    http://www.mmowned.com/forums/emulat...eature-ai.html

    V - Whats Mangos

    The MaNGOS project is a full featured World of Warcraft server suite, including servers for authentication, client updates, world content serving, and battlegrounds. Additional features include tools to build and develop game content.

    MaNGOS is an educational project. This means, our primary interest is to learn and teach us and our users more about C++ project development in a large scale. Our software is not intended for running public servers, and we do not support that.

    The MaNGOS project is powered by a powerful cast of characters comprised of several languages and technologies. These include:

    * The MaNGOS core is written in C/C++,
    * our database backends of choice are MySQL and PostgreSQL, so we use SQL, too,
    * we use shell scripts to spice up development,
    * we document our code using Doxygen,
    * project documentation is living inside MedaWiki.

    If you are familiar with any one of these, you can (and, dare we say, should!) contribute to the MaNGOS software.


    Here are some mangos guides.

    http://www.mmowned.com/forums/mangos...-1-12-1-a.html

    http://www.mmowned.com/forums/mangos...3-flavors.html

    http://www.mmowned.com/forums/mangos...s-using-c.html


    VI - Whats ArcEmu

    ArcEmu is an Open Source World of Warcraft server, which is x86 compatible (including Pentium® and Athlon™), amd64 compatible, and PowerPC compatible. It is currently developed and maintained by a team of individuals. The server is written in C++ and offers advanced networking, performance, ingame anti-hack security, and unique features today which are still missing in other emulators.

    Arcemu is written in C++ delivering fast performance. At the heart of Arcemu is a multithreaded core, making the most of your processing hardware by running tasks in parallel whilst ensuring the most stringent controls are placed on inter-thread memory protection to offer superior stability.


    Here's some examples of ArcEmu scripts.
    Code:
    function NpcName_Event (pUnit, Event)
    pUnit:CastSpell (YOURSPELLID)
    end
    RegisterUnitEvent (YOURNPCID, 1, "NpcName_Event")


    Here are the best guides.

    http://www.mmowned.com/forums/ascent...pells-lua.html

    http://www.mmowned.com/forums/emulator-server-guides/269284-amusing-script-functions.html

    http://www.mmowned.com/forums/ascent...wn-repack.html

    VII - What's SQL.

    We will do SQL later.
    Last edited by Found; 12-19-2009 at 01:11 PM.

  3. #3
    Found's Avatar Banned
    Reputation
    239
    Join Date
    Mar 2009
    Posts
    642
    Thanks G/R
    1/4
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    VIII - What's Compiling

    1. To gather into a single book.
    2. To put together or compose from materials gathered from several sources: compile an encyclopedia.
    3. Computer Science To translate (a program) into machine language.




    Here are some guides on compiling... The best ones.


    Complete guide to Compile and run your Trinity core 3.X.X server.




    First before we get started, Id like to tell everyone what ports they have to forward in order for everything to run smoothly.
    3784
    3306
    3724
    8085
    8129
    80
    3307
    To find out how to forward your ports, use PortForward.com - Port Forwarding Guides Listed by Manufacturer and Model

    Now we can start, we are going to need a few programs.
    1. * TortoiseHG-tortoisehg / stable / wiki / download — bitbucket.org

    * TortoiseSVN-TortoiseSVN | The coolest Interface to (Sub)Version Control

    * Visual Studio 2008 -Visual C++ 2008 Express Edition

    * Xampp- apache friends - xampp for windows

    * .NET Framework 3.5 (you should already have it via your Windows updates)-(google is your friend)

    * SQLYog-(trial version, requires shot forum fillout)-Download

    Please make sure all the downloads listed are ready for use, and downloaded correctly, before going on further.

    -------Getting the source-------
    Create a folder on your desktop, name it Trinitycore. Then right click it, click TortoiseHG Clone a Repository, Fill in the following code
    Code:

    Source Path: KingPin / TrinityCore2 / overview — bitbucket.org
    Destination Path: (where ever your trinitycore file is located)

    This will take a few minutes to complete.

    -------Compiling the Source-------
    Go to you C++ visual studio, go to the menu open up \win\TrinityCore&Script VC90.sln
    Go on the top menu 'Build' and click on Configuration Manager. Make sure you set the build to 'release Win32' or 'release x64' depending on the Operating System Trinity will be running on.Compilation length differs from machine to machine, you should expect it to take 15-30 minutes.

    You will find the following message once the compilation has finished successfully:

    Build: 11 completed, 0 failed, 0 up-to-date, 0 skipped




    -------Keeping your DB up to the current patch-------
    Just click on your TrinityCore folder , and click 'TortoiseHG' -> 'SynchronizeClick on the button 'pull' at top of the window and it will start pulling the new/updated files. Once it is finished click on 'Update to Branch Tip' at the bottom of the window and you are done! Now you can repeat the compiling procedure above.


    -------installing the DB-------
    Here we are going to use the very own DB from trinity core, which is called TDB,
    Create a folder, name it TDB, then right click, and click on SVN CHECKOUT, fill in the code -->
    Code:

    URL of Repository: trinitydatabase - Revision 21: /
    Checkout Directory: (where ever your TDB file is located.

    Click on 'ok'. Wait a few minutes (or less) and all the files will be pulled in the directory


    -------Db install-------
    The first two are to be taken from the Core directory, the world DB is to be taken from the TDB directory.

    1) Create the three databases by importing C:\Trinity\sql\create_mysql.sql. You now have three databases called realmd, characters and world.

    2) Import realmd database structure by importing C:\Trinity\sql\realmd.sql in the realmd DB.

    3) Import characters database structure by importing C:\Trinity\sql\characters.sql in the characters DB.

    4) Unzip C:\TDB\trunk\full_db\TDB_0.0.5_5254.zip and import world DB structure and contents by importing TDB_0.0.5_5254.sql in the world DB.

    5) Import C:\TDB\trunk\updates\21_corepatch_world_5255_6376.sql.

    6) Import C:\TDB\trunk\updates\21_updatepack_world.sql.

    7) Import all *.sql update files from C\Trinity\sql\updates which start with a number above '6376' so that your DB structure is up to date with the revision you just pulled and compiled.

    Import all files from C:\Trinity\sql\FULL directory in any order.

    Note: Now your world DB structure is for TrinityCore2 revision 6376. You need to import the update files to have the proper world DB structure for the revision you just pulled and compiled.. You will notice they are all named XXXX_world.sql or XXXX_characters.sql or XXXX_realmd.sql, and you need to import the *_world_*.sql files only!

    --------Setting up the server--------
    Now that you have the Source compiled and the Databases installed, you need to set up the server.
    Extracting dbc, maps and vmaps files

    In order to run Trinity needs dbc and maps files. In addition, if you want to enable vmaps (mobs not seeing through walls, etc) you will need to extract them as well.
    dbc and maps files


    Find the application C:\Trinity\contrib\extractor\ad.exe and place it in your WoW Client directory. Before running this application, run your Client once (the login screen is enough). You need to do this so that the 'ad.exe' knows where your Client is and where to extract the files.

    Now you can run 'ad.exe' and you will find two directories in your WoW Client called 'dbc' and 'maps'. Move them where your Trinity binaries are (C:\Trinity\bin\Win32_release or C:\Trinity\bin\x64_release).
    vmaps (optional)

    You can also extract vmaps which will take quite a while depending on your machine (1-2 hours).

    Copy all files from C:\Trinity\contrib\vmap_extract_assembler_bin\ to where all your binaries, dbc dir and maps dir are. Run makevmaps_SIMPLE.bat. It will take a long time. It will first create a directory called 'buildings'. Then it will start extracting files to the directory 'vmaps'.

    You will not see any progress in the application's window or anything else. You will just notice files being created in the 'vmaps' folder as it is proceeding. Do not stop the process.



    Configuring the Server

    First of all you need to change the extension of TrinityCore.conf.dist -> TrinityCore.conf and TrinityRealm.conf.dist -> TrinityRealm.conf (make sure you enabled "show known files extensions" in the Windows folder option). Then you can edit them.
    TrinityCore.conf

    Edit MySQL account username and password (instead of trinity;trinity).
    Code:

    LoginDatabaseInfo = "127.0.0.1;3306;trinity;trinity;realmd"
    WorldDatabaseInfo = "127.0.0.1;3306;trinity;trinity;world"
    CharacterDatabaseInfo = "127.0.0.1;3306;trinity;trinity;characters"

    TrinityRealm.conf

    Edit MySQL account username and password (instead of trinity;tirnity)
    Code:

    LoginDatabaseInfo = "127.0.0.1;3306;trinity;trinity;realmd"


    If you extracted vmaps then edit the following
    Code:

    vmap.enableLOS = 1 -- set this to 1
    vmap.enableHeight = 1 -- set this to 1
    vmap.ignoreMapIds = "369"
    vmap.ignoreSpellIds = "7720"
    vmap.petLOS = 1 -- set this to 1

    You need to make sure that TrinityRealm.exe directs incoming connections to your realm. In the realmd DB there is a table called realmlist. You need to edit the field address according to your needs:
    Code:

    127.0.0.1 -- Leave default localhost if you are connecting alone from the same machine Trinity runs on.
    LAN ip -- Use the machine's LAN ip if you want other computers from the same network as Trinity's to connect to your server.
    Public ip -- Use your public ip if you have friends and testers which need to connect your server from the internet.




    Now for xampp
    type local host in your browser, and go into phpmyadmin, then create your own user. This allows you to name the data base in Mysql what ever you want, and also use what ever password, when you create a host, make sure it's set to Local host.


    If you have any problems please feel free to ask, if enough people comment this, and need a guide to get your server live, please say so. I'll make another guide.


    CREDITS---->Razorwolfgaming, Trinitycore.


    Credits to Razorwolf49

    Here are guides

    http://www.mmowned.com/forums/emulat...rt-server.html

    http://www.mmowned.com/forums/ascent...wn-repack.html

    http://www.mmowned.com/forums/ascent...r-scratch.html

  4. #4
    Found's Avatar Banned
    Reputation
    239
    Join Date
    Mar 2009
    Posts
    642
    Thanks G/R
    1/4
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    IX - What are Gm commands.

    Gm commands are the commands that give you your power in the game.

    Code:
    Mangos Commands:
    
    acct
    Syntax: .acct
    Display the access level of your account.
    
    commands
    Syntax: .commands
    Display a list of available commands for your account level.
    
    dismount
    Syntax: .dismount
    Dismount you, if you are mounted.
    
    info
    Syntax: .info
    Display the number of connected players.
    
    gmlist
    Syntax: .gmlist
    Display a list of available Game Masters.
    
    help
    Syntax: .help
    Display usage instructions for the given .
    
    showhonor
    Syntax: .showhonor
    Display your honor ranking.
    
    save
    Syntax: .save
    Saves your character.
    
    start
    Syntax: .start
    Teleport you to the starting area of your character.
    
    announce
    Syntax: .announce
    Send a global message to all players online.
    
    gmoff
    Syntax: .gmoff
    Disable the prefix for your character.
    
    gmon
    Syntax: .gmon
    Enable the prefix for your character.
    
    goname
    Syntax: .goname
    Teleport to the given character. Either specify the character name or click on the character's portait, e.g. when you are in a
    group.
    
    gps
    Syntax: .gps
    Display the position information for a selected character or creature. Position information includes X, Y, Z, and orientation, map Id
    and zone
    
    Id
    modify
    Syntax: .modify
    Modify the value of various parameters.
    Use .help modify to get help on specific parameter usage.
    Supported parameters include hp, mana, rage, energy, gold, level, speed, swim, scale, bit, bwalk, aspeed, faction, and spell.
    
    modify aspeed
    Syntax: .modify aspeed #speed
    Modify all speeds -run,swim,run back- of the selected player.
    If no player is selected, modify your speed. #speed may range from 0 to 50.
    
    modify bit
    Syntax: .modify bit #field #bit
    Toggle the #bit bit of the #field field for the selected player. If no player is selected, modify your character.
    
    modify bwalk
    Syntax: .modify bwalk #speed
    Modify the speed of the selected player while running backwards. If no player is selected, modify your speed. #speed may range from 0 to 50.
    
    modify energy
    Syntax: .modify energy #energy
    Modify the energy of the selected player. If no player is selected, modify your energy.
    
    modify faction
    Syntax: .modify faction #factionid #flagid #npcflagid #dynamicflagid
    Modify the faction and flags of the selected creature. Without arguments, display the faction and flags of the selected creature.
    
    modify gold
    Syntax: .modify gold #money
    Add or remove money to the selected player. If no player is selected, modify your money. #gold can be negative to remove money.
    modify hp
    Syntax: .modify hp #newhp
    Modify the hp of the selected player. If no player is selected, modify your hp.
    
    modify mana
    Syntax: .modify mana #newmana
    Modify the mana of the selected player. If no player is selected, modify your mana.
    
    modify rage
    Syntax: .modify rage #newrage
    Modify the rage of the selected player. If no player is selected, modify your rage.
    
    modify scale
    Syntax: .modify scale #number from 0 to 3
    Modify the scale ofthe selected player
    
    modify speed
    Syntax: .modify speed #speed
    Modify the running speed of the selected player. If no player is selected, modify your speed. #speed may range from 0 to 50.
    
    modify spell
    !!! Need informations here !!!
    
    modify swim
    Syntax: .modify swim #speed
    Modify the swim speed of the selected player. If no player is selected, modify your speed. #speed may range from 0 to 50.
    namego
    
    Syntax: .namego
    Teleport the given character to you. Either specify the character name or click on the player's portrait, e.g. when you are in a group.
    recall
    
    Syntax: .recall
    Teleport you to various towns around the world. defines the target location. Available places include sunr, thun, cross, ogri, neth, thel, storm, iron, under, and darr.
    whispers
    
    Usage: .whispers on|off
    Enable/disable accepting whispers by GM from players. By default use mangosd.conf setting.
    
    goobject
    Usage: .goobject #object_guid
    Teleport your character to gameobject with guid #creature_guid
    
    searchtele
    Syntax: .searchtele
    Search and output all .tele command locations with provide in name.
    
    addmove
    Syntax: .addmove [#waittime]
    Add your current location as a waypoint for the selected creature. And optional add wait time.
    
    addspw
    Syntax: .addspw #creatureid Spawn a creature by the given template id of #creatureid.
    
    changelevel
    Syntax: .changelevel #level
    Change the level of the selected creature to #level. #level may range from 1 to 63.
    
    delete
    Syntax: .delete
    Delete the selected creature from the world.
    
    demorph
    Syntax: .demorph
    Demorph the selected player.
    
    displayid
    Syntax: .displayid #displayid
    Change the model id of the selected creature to #displayid.
    
    factionid
    Syntax: .factionid #factionid
    Set the faction of the selected creature to #factionid.
    
    guid
    Syntax: .guid
    Display the GUID for the selected character.
    
    item
    Syntax: .item #guid #amount
    Add the given amount #amount of the item with a GUID of #guid to the selected vendor.
    
    itemmove
    Syntax: .itemmove #sourceslotid #destinationslotid
    Move an item from slots #sourceslotid to #destinationslotid in your inventory Not yet implemented
    
    itemrmv
    Syntax: .itemrmv #guid
    Remove the given item with a GUID of #guid from the selected vendor.
    
    kick
    Syntax: .kick
    Kick the given character from the world.
    
    name
    Syntax: .name
    Change the name of the selected creature or character to . Command disabled.
    
    random
    Syntax: .random #flag
    Enable or disable random movement for the selected creature.
    Use a #flag of value 1 to enable, use a #flag value of 0 to disable random movement.
    Not yet implemented.
    
    npcflag
    Syntax: .npcflag #npcflag
    Set the NPC flags of the selected creature to #npcflag.
    
    ticket
    Syntax: .ticket on .ticket off .ticket #num .ticket
    on/off for GMs to show or not a new ticket directly, to show ticket of this character, #num to show ticket #num.
    
    delticket
    Syntax: .delticket all .delticket #num .delticket
    all to delete all tickets at server, to delete ticket of this character, #num to delete ticket #num.
    
    prog
    Syntax: .prog
    Teleport you to Programmers Island.
    
    run
    Syntax: .run #flag
    Enable or disable running movement for a selected creature.
    Use a #flag of value 1 to enable, use a #flag value of 0 to disable running. Not yet implemented.
    
    subname
    Syntax: .subname
    Change the subname of the selected creature or player to . Command disabled.
    
    gocreature
    Usage: .gocreature #creature_guid
    Teleport your character to creature with guid #creature_guid.
    
    targetobject
    Usage: .targetobject [#go_id|#go_name_part]
    Locate and show position nearest gameobject.
    If #go_id or #go_name_part provide then loacate and show position of neares gameobject with gameobject tempalte id #go_id or name included #go_name_part as part.
    
    delobject
    Usage: .delobject #go_guid
    Delete gameobject with guid #go_guid.
    
    addgo
    Syntax: .addgo #id
    Add a game object from game object templates to the world at your current location using the #id.
    Note: this is a copy of .gameobject.
    
    addgrave
    Syntax: .addgrave (any|alliance|horde)
    Add a graveyard at your current location for any or specific faction. If in radius 50f already exist graveyard then instead creating new this graveyard coordinates, orientation and faction updated.
    Current zone automaticly linked to created graveyard.
    
    additem
    Syntax: .additem #itemid [#itemcount] or .additem 0 #itemcount
    Adds the specified number of items of id #itemid to your or selected character inventory.
    If #itemcount is omitted, only one item will be added.
    With the second syntax you can add an item with exact (!) name .
    
    additemset
    Syntax: .additemset #itemsetid
    Add items from itemset of id #itemsetid to your or selected character inventory.
    Will add by one sample each item from itemset.
    
    addsh
    Syntax: .addsh
    Add a spirit healer to your current location. Not yet implemented.
    addspirit
    
    Syntax: .addspirit
    Spawns the spirit healer for the current location, if there is one defined for the current location.
    Command disabled.
    
    addweapon
    Not yet implemented.
    
    allowmove
    Syntax: .allowmove
    Enable or disable movement for the selected creature.
    
    anim
    Syntax: .anim #emoteid
    Play emote #emoteid for your character.
    
    aura
    Syntax: .aura #spellid
    Add the aura from spell #spellid to your character.
    
    bank
    Syntax: .bank
    Show your bank inventory.
    
    createguild
    Syntax: .createguild ?
    Create a guild named ? with the player ? as leader.
    
    die
    Syntax: .die
    Kill the selected player or creature. If no player or creature selected, it will kill you.
    
    distance
    Syntax: .distance
    Display the distance from your character to the selected creature.
    
    emote
    Syntax: .emote #emoteid
    Make the selected creature emote with an emote of id #emoteid.
    
    explorecheat
    Syntax: .explorecheat #flag Reveal or hide all maps for the selected player. If no player is selected, hide or reveal maps to you. Use a #flag of value 1 to reveal, use a #flag value of 0 to hide all maps.
    
    gameobject
    Syntax: .gameobject #id
    Add a game object from game object templates to the world at your current position using the #id.
    getvalue
    
    Syntax: .getvalue #field #isInt
    Get the field #field of the selected creature. If no creature is selected, get the content of your field.
    Use a #isInt of value 1 if the expected field content is an integer.
    
    go
    Syntax: .go #position_x #position_y #position_z #mapid
    Teleport to the given coordinates on the specified map.
    
    hidearea
    Syntax: .hidearea #areaid
    Hide the area of #areaid to the selected character. If no character is selected, hide this area to you.
    
    hover
    Syntax: .hover #flag
    Enable or disable hover mode for your character. Use a #flag of value 1 to enable, use a #flag value of 0 to disable hover.
    
    learn
    Syntax: .learn #parameter
    Selected character learn a spell of id #parameter.
    Code:
    
     A GM can use : 
     .learn all, if he wants to learn all default spells for Game Masters 
     .learn all_lang, to learn all langauges 
     .learn all_myclass, to learn all spells available for his class (Character selection in these cases ignored). 
    
    
    learnsk
    Syntax: .learnsk #skillId #level #max
    Learn a skill of id #skill with a current skill value of #level and a maximum value of #max for the selected character. If no character is selected, you learn the skill.
    
    levelup
    Syntax: .levelup #numberoflevels
    Increase the level of the selected character by #numberoflevels.
    If #numberoflevels is omitted, the level will be increase by 1. If no character is selected, increase your level.
    
    linkgrave
    Syntax: .linkgrave #graveyard_id
    Link current zone to graveyard.
    This let character ghost from zone teleport to graveyard after die if graveyard is nearest from linked to zone and accept ghost of this faction.
    From instance ghosts teleported to nearest linked graveyard with ignoring ghost faction.
    
    loadscripts
    Syntax: .loadscripts
    Unload current and load the script library or reload current if omitted, in case you changed it while the server was running.
    
    Mod32Value
    Syntax: .Mod32Value #field #value
    Add #value to field #field of your character.
    
    morph
    Syntax: .morph #displayid
    Change your current model id to #displayid.
    
    neargrave
    Syntax: .neargrave [any|alliance|horde]
    Find nearest graveyard linked to zone (or only nearest from accepts any, alliance, horde faction ghosts).
    
    NewMail
    Syntax: .NewMail? #flag
    Send a new mail notification with flag #flag.
    
    npcinfo
    Syntax: .npcinfo
    Display a list of details for the selected creature.
    The list includes :
    
    GUID, Faction, NPC flags, Entry ID, Model ID
    Level, - Health (current/maximum)
    Field flags, dynamic flags, faction template
    Position information
    and the creature type, e.g. if the creature is a vendor.
    
    npcinfoset
    Syntax: .npcinfoset
    TODO: Write me.
    
    object
    Syntax: .object #displayid
    Add a new object of type mailbox with the display id of #displayid to your current position.
    If is set to 'true', save the object in the database.
    
    QNM
    Syntax: .QNM #flag
    Query next mail time with flag #flag.
    
    reload
    Not yet implemented.
    revive
    Syntax: .revive
    Revive the selected player. If no player is selected, it will revive you.
    
    security
    Syntax: .security #level
    Set the security level of player to a level of #level. #level may range from 0 to 5 (even if no command exist for levels 4 and 5).
    
    setvalue
    Syntax: .setvalue #field #value #isInt Set the field #field of the selected creature with value #value. If no creature is selected, set the content of your field. Use a #isInt of value 1 if #value is an integer.
    
    showarea
    Syntax: .showarea #areaid
    Reveal the area of #areaid to the selected character. If no character is selected, reveal this area to you.
    
    standstate
    Syntax: .standstate #emoteid
    Change the emote of your character while standing to #emoteid.
    
    transport
    Not yet implemented.
    
    unaura
    Syntax: .unaura #spellid
    Remove aura due to spell #spellid from your character.
    
    unlearn
    Syntax: .unlearn #startspell #endspell
    Unlearn for selected player the range of spells between id #startspell and #endspell. If no #endspell is provided, just unlearn spell of id #startspell.
    
    unlearnsk
    Syntax: .unlearnsk #parameter
    Unlearn a skill of id #parameter for the selected character. If no character is selected, you unlearn the skill.
    
    update
    Syntax: .update #field #value
    Update the field #field of the selected character or creature with value #value.
    If no #value is provided, display the content of field #field.
    
    wchange
    Syntax: .wchange #weathertype #status
    Set current weather to #weathertype with an intensitiy of #status.
    #weathertype can be 1 for rain, 2 for snow, and 3 for sand.
    #status can be 0 for disabled(light, e.g. light rain), and 1 for enabled(heavy, e.g. heavy snow).
    
    worldport
    Syntax: .worldport #map #position_x #position_y #position_z
    Teleport to the given coordinates on the specified continent (map).
    
    shuttdown
    Syntax: .shuttdown seconds
    
    cshuttdown
    Syntax: .cshuttdown
    Cancels shuttdown
    
    reset
    Usage: .reset stats
    Resets all stats of the targeted player to their orginal values at level 1.
    Please unequip all items and debuff all auras from the player before using.
    .reset talents Removes all talents of the targeted player.
    
    maxskill
    Usage: .maxskill
    Sets all skills of the targeted player to their maximum values for its current level.
    Code:
    
    ArcEmu Commands:
    
    KICK OR BAN COMMANDS:
    banchar: Bans character x with or without reason
    unbanchar: Unbans character x
    kick: Kicks player from server
    paralyze: Roots/Paralyzes the target.
    unparalyze: Unroots/Unparalyzes the target.
    --------------------------------------------------------------------------------------
    Chat Control [c]
    allowwhispers: Allows whispers from player while in gmon mode.
    blockwhispers: Blocks whispers from player while in gmon mode.
    --------------------------------------------------------------------------------------
    Debug Commands [d]
    debug: Main â€~debug’ command table. Usage: .debug
    infront: No description entered.
    showreact: No description entered.
    aimove: No description entered.
    dist: No description entered.
    face: No description entered.
    moveinfo: No description entered.
    setbytes: No description entered.
    getbytes: No description entered.
    unroot: No description entered.
    root: No description entered.
    landwalk: No description entered.
    waterwalk: No description entered.
    castspell: .castspell – Casts spell on target.
    castspellne: .castspellne – Casts spell on target (only plays animations, doesnt handle effects or range/facing/etc.
    celldelete: USE WITH CAUTION! ‘.celldelete YES’ – Removes everything in current cell from game and database. ‘.celldelete YES YES’ removes everything in a range of 1cell.
    addrestxp: .addrestxp – Adds x rest XP to player.
    generatename: .generatename – Generates name for pet, etc.
    attackerinfo: .attackerinfo – Shows selected mob/player’s attacker’s infomation.
    showattackers: .showattackers – Shows selected mob/player’s attacker on the minimap.
    aggrorange: .aggrorange – Shows aggro Range of the selected Creature.
    knockback : .knockback – Knocks you back.
    fade : .fade – calls ModThreatModifyer().
    threatMod : .threatMod – calls ModGeneratedThreatModifyer().
    calcThreat : .calcThreat – calculates threat.
    threatList : .threatList – returns all AI_Targets of the selected Creature.
    gettptime: grabs transporter travel time
    itempushresult: sends item push result
    weather: No description entered.
    setbit: No description entered.
    setvalue: No description entered.
    getpos: No description entered.
    Battlegrounds Commands [e]
    --------------------------------------------------------------------------------------
    battleground: Main BG command table. 
    Usage: .battleground
    setbgscore: – Sets battleground score. 2 Arguments.
    startbg: Starts current battleground match.
    pausebg: Pauses current battleground match.
    bginfo: Displays information about current battleground.
    battleground: Shows BG Menu
    setworldstate: – Var can be in hex. WS Value.
    playsound: . Val can be in hex.
    setbfstatus: .setbfstatus – Not Yet Implemented.
    leave: Leaves the current battleground.
    --------------------------------------------------------------------------------------
    Extended Debug Commands? [f]
    killbyplayer: Disconnects the player with name .
    killbyaccount: Disconnects the session with account name .
    getrate: Gets rate .
    setrate: Sets rate .
    --------------------------------------------------------------------------------------
    GM Ticket Commands [g]
    gmTicket: Main GM ticket system command table. Usage: .gmTicket
    get: Gets GM Ticket
    getId: Gets GM Ticket by ID
    delId: Deletes GM Ticket by ID
    --------------------------------------------------------------------------------------
    Invincibility Command [j]
    invincible: .invincible – Toggles INVINCIBILITY (mobs won’t attack you)
    --------------------------------------------------------------------------------------
    Invisibility Command [i]
    invisible: .invisible – Toggles INVINCIBILITY and INVISIBILITY (mobs won’t attack you and nobody can see you, but they can see your chat messages)
    --------------------------------------------------------------------------------------
    Guild Commands [l]
    createguild: Create's a Guild
    --------------------------------------------------------------------------------------
    Modify commands [m]
    modify: Main stat-modification command table. Usage: .modify
    hp: Health Points/HP
    mana: Mana Points/MP
    rage: Rage Points
    energy: Energy Points
    armor: Armor
    holy: Holy Resistance
    fire: Fire Resistance
    nature: Nature Resistance
    frost: Frost Resistance
    shadow: Shadow Resistance
    arcane: Arcane Resistance
    damage: Unit Damage Min/Max
    scale: Size/Scale
    gold: Gold/Money/Copper
    speed: Movement Speed
    nativedisplayid: Native Display ID
    displayid: Display ID
    flags: Unit Flags:
    faction: Faction Template
    dynamicflags: Dynamic Flags
    talentpoints: Talent Points
    loyalty: Loyalty
    spirit: Spirit
    boundingraidus: Bounding Radius
    combatreach: Combat Reach
    emotestate: NPC Emote State
    createaccount: .createaccount – Creates account. Format should be .createaccount username password email
    playerinfo: .playerinfo – Displays informations about the selected character (account…)
    mount: Mounts into modelid x.
    dismount: Dismounts.
    start: Teleport’s you to a starting location
    levelup: No description entered.
    additem: No description entered.
    removeitem: Removes item %u count %u.
    learn: Learns spell
    unlearn: Unlearns spell
    learnskill: .learnskill (optional) – Learns skill id skillid.
    advanceskill: advanceskill – Advances skill line x times..
    removeskill: .removeskill – Removes skill
    increaseweaponskill: .increaseweaponskill – Increase eqipped weapon skill x times (defaults to 1).
    removeauras: Removes all auras from target
    setmotd: Sets MOTD
    additemset: Adds item set to inv.
    gotrig: Warps to areatrigger
    createinstance: Creates instance on map
    goinstance: Joins instance
    exitinstance: Exits current instance, return to entry point.
    dbreload: Reloads some of the database tables
    spawnspiritguide: Spawns a spirit guide (params: 1 = horde, 0 = alliance)
    advanceallskills: Advances all skills points.
    unlockmovement: Unlocks movement for player.
    modperiod: Changes period of current transporter.
    npcfollow: Sets npc to follow you
    follow: Sets npc to not follow anything
    formationlink1: Sets formation master.
    formationlink2: Sets formation slave with distance and angle
    formationclear: Removes formation from creature
    playall: Plays a sound to the entire server.
    addipban: Bans an ip address
    banaccounts: Bans accounts
    renamechar: Renames character x to y.
    forcerenamechar: Forces character x to rename his char next login
    getstanding: Gets standing of faction %u.
    setstanding: Sets standing of faction %u.
    --------------------------------------------------------------------------------------
    Cheat Commands [m]
    cheat: Main cheat command table. Usage: .cheat
    status: Shows active cheats.
    taxi: Enables all taxi nodes.
    cooldown: Enables no cooldown cheat.
    casttime: Enables no cast time cheat.
    power: Disables mana consumption etc.
    god: Sets god mode, prevents you from taking damage.
    fly: Sets fly mode
    land: Unsets fly mode
    explore: Reveals the unexplored parts of the map.
    flyspeed: Modifies fly speed.
    stack: Enables aura stacking cheat.
    morph: Morphs into model id x.
    demorph: Demorphs from morphed model.
    Honor Modification Commands [m] honor: Main honor system command table. Usage: .honor
    getpvprank: Gets PVP Rank
    setpvprank: Sets PVP Rank
    addpoints: Adds x amount of honor points/currency
    addkills: Adds x amount of honor kills
    globaldailyupdate: Daily honor field moves
    singledailyupdate: Daily honor field moves for selected player only
    pvpcredit: Sends PVP credit packet, with specified rank and points
    --------------------------------------------------------------------------------------
    Pet Commands [m]
    pet: Main pet command table. Usage: .pet
    createpet: Creates a pet with .
    renamepet: Renames a pet to .
    enablerename: Enables pet rename.
    addspell: Teaches pet .
    removespell: Removes pet spell .
    --------------------------------------------------------------------------------------
    NPC Commands [n]
    npc: Main NPC command table. Usage: .npc
    vendoradditem: Adds to vendor
    vendorremoveitem: Removes from vendor.
    flags: Changes NPC flags
    emote: emote – Sets emote state
    run: No description entered.
    addweapon: No description entered.
    allowmove: No description entered.
    addgrave: No description entered.
    addspirit: No description entered.
    faction: No description entered.
    delete: Deletes mob from db and world.
    info: Displays NPC information
    guid: Shows selected object guid
    addAgent: .npc addAgent
    delAgent: .npc delAgent
    listAgent: .npc listAgent
    reset: resets npc health/dmg from temp table.
    export: Exports the npc to a sql file
    say: .npc say – Makes selected mob say text .
    yell: .npc yell – Makes selected mob yell text .
    come: .npc come – Makes npc move to your position
    return: .npc return – Returns ncp to spawnpoint.
    spawn: .npc spawn – Spawns npc of entry
    spawnlink: .spawnlink sqlentry
    resetreputation: .resetreputation – Resets reputation to start levels. (use on characters that were made before reputation fixes.)
    resetlevel: .resetlevel – Resets all stats to level 1 of targeted player. DANGEROUS.
    resetspells: .resetspells – Resets all spells to starting spells of targeted player. DANGEROUS.
    resettalents: .resettalents – Resets all talents of targeted player to that of their current level. DANGEROUS.
    resetskills: .resetskills – Resets all skills.
    --------------------------------------------------------------------------------------
    GameObject Commands [o]
    gobject: Main gameobject command table. Usage: .gobject
    select: Selects the nearest GameObject to you
    delete: Deletes selected GameObject
    spawn: Spawns a GameObject by ID
    info: Gives you informations about selected GO
    activate: Activates/Opens the selected GO.
    enable: Enables the selected GO for use.
    scale: Sets scale of selected GO
    animprogress: Sets anim progress
    export: Exports the current GO selected
    statelink: .statelink sqlentry, Links a GO state to a Npc
    --------------------------------------------------------------------------------------
    Information Commands [p]
    gm: Shows active GM’s
    gps: Shows Position
    info: Server info
    uptime: Shows server uptime
    --------------------------------------------------------------------------------------
    Teleport (Recall)Commands [q]
    recall: Main teleportation command table. Usage: .recall
    list: List recall locations
    port: Port to recalled location
    add: Add recall location
    del: Remove a recall location
    portplayer: recall ports player
    --------------------------------------------------------------------------------------
    Life and Death Commands [r]
    kill: .kill – Kills selected unit.
    revive: Revives you.: 0, 0, 0},
    reviveplr: Revives player specified.
    --------------------------------------------------------------------------------------
    Save Commands [s]
    save: Save’s your character
    saveall: Save’s all playing characters
    --------------------------------------------------------------------------------------
    GM Tag Commands [t]
    gmoff: Sets GM tag off
    gmon: Sets GM tag on
    --------------------------------------------------------------------------------------
    Universal Commands [u]
    Commands: Shows Commands
    help: Shows help for command
    announce: Sends Msg To All
    wannounce: Sends Widescreen Msg To All
    --------------------------------------------------------------------------------------
    Extended Teleport Commands [v]
    appear: Teleports to x’s position.
    summon: Summons x to your position
    worldport: No description entered.
    --------------------------------------------------------------------------------------
    Waypoint Commands [w]
    waypoint: waypointCommandTable
    add: Add wp at current pos
    show: Show wp’s for creature
    hide: Hide wp’s for creature
    delete: Delete selected wp
    movehere: Move to this wp
    flags: Wp flags
    waittime: Wait time at this wp
    emote: Emote at this wp
    skin: Skin at this wp
    change: Change at this wp
    info: Show info for wp
    movetype: Movement type at wp
    generateNo description entered.Randomly generate wps
    save: Save all waypoints
    deleteall: Delete all waypoints
    --------------------------------------------------------------------------------------
    Admin Commands [z]
    security: No description entered.
    servershutdown: Initiates server shutdown in seconds.
    serverrestart: Initiates server restart in seconds.
    castall: Makes all players online cast spell .

  5. #5
    Found's Avatar Banned
    Reputation
    239
    Join Date
    Mar 2009
    Posts
    642
    Thanks G/R
    1/4
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    How to go Public

    X - How to go Public.

    THIS IS FOR ARCEMU IF YOU WANT A MANGOS PUBLIC GUIDE VISIT LINKS BELOW.

    How to make your private server public non hamachi by Gooze

    A very easy 4 steps tutorial on how to make your server public!


    IF your on a modem, skip step 1.

    Step 1. Portforwarding.
    Step 2. Find your external IP.
    Step 3. Getting a dyndns domain.
    Step 4. Changing Realmlist.cfg.



    STEP 1.

    Finding your routers IP.

    Start up commandoprompt.
    Type in: IPCONFIG
    Navigate to your connection info, find the Standardgateway-ip and copy it!
    Type it into your webbrowser. For example it could be http://192.168.1.1/

    Login to your router and navigate to the portforwarding area.
    More help can be found on your specific router on:
    PortForward.com - Port Forwarding Guides Listed by Manufacturer and Model

    Forwarding ports.


    Now you've gotten onto your Router, and you're ready to portforward.
    Go to commandoprompt again and type: IPCONFIG
    Find your internet connection info again.
    your ip should be something similar to this: 192.168.1.XXX
    At the X's should be 2 or 3 numbers, that's your computer!

    Now everytime you portforward make sure to navigate the ports to that IP!

    The ports you need to forward is these:

    80 - 80
    3036 - 3036
    3306 - 3306
    3724 - 3724
    6112 - 6119
    6881-6999
    8050 -8050
    8093 -8093
    8129 - 8129



    Step 2.


    Finding your External IP

    To find your External IP go to one of these sites:

    IPChicken - Shows Your External IP
    What Is My IP - Shows Your External IP

    Now you should have a new IP like "86.231.231.123" or something like that.


    STEP 3.


    Getting a dyndns domain.


    Go to: DynDNS.com: Free DNS Hosting, E-mail Delivery, and VPS Hosting

    Create an account on the website, login, then on the left side you'll see "My Services" Press that.
    Navigate down to "Host Services" and press in the right side "Add Hostname"

    Now what you need to fill out is:
    Hostname (Put whatever you like fx. WorldofForsaken)
    Next to hostname is something you can click and change to something like servegame.org or kicks-ass.net etc. Pick one you like.

    Make sure that Service Type is marked as: "Host with IP address"


    Now in the IP Address field put in the External IP you found in STEP 2.

    Press add to cart(Dont worry it doesnt cost anything), Afterwards press next and finally press Activate Service.
    Now you're done with STEP 3.

    STEP 4.


    Changing your private server config REALM.


    Go to your config folder and open up for example: Arcemu-realms.cfg

    Navigate to the following:



    Code:
    <Realm1 Name = "Your Servers Name here"
    Address = "127.0.0.1:8129"
    Icon = "PVP"
    Colour = "1"
    Population = "1.0"
    TimeZone = "1">
    Change it to the following:


    Code:
    <Realm1 Name = "Your Servers Name here"
    Address = YOUR DYN DNS DOMAIN:8129"
    Icon = "PVP"
    Colour = "1"
    Population = "1.0"
    TimeZone = "1">
    For Example:


    Code:
    <Realm1 Name = "Your Servers Name here"
    Address = "WorldofForsaken.servegame.org:8129"
    Icon = "PVP"
    Colour = "1"
    Population = "1.0"
    TimeZone = "1">
    Now it's public! If Not you've done something wrong, this is 100% working for sure.

    change your WoW Realmlist.wtf to your dyndns name.
    Example again:
    set realmlist WorldofForsaken.servegame.org


    Guides.
    http://www.mmowned.com/forums/ascent...lic-guide.html
    http://www.mmowned.com/forums/ascent...0-working.html
    http://www.mmowned.com/forums/mangos...r-scratch.html
    http://www.mmowned.com/forums/mangos...-friendly.html
    http://www.mmowned.com/forums/mangos...v2-images.html

    XI - Bibliography

    Thanks for reading, if your guide is in here credits to you if you want it removed PM me.

    Sites:

    Arcemu.org
    getmangos.com
    wikipedia.com
    google.com
    Last edited by Found; 03-10-2010 at 04:46 PM. Reason: Fixes

  6. #6
    Sounddead's Avatar Contributor
    Reputation
    160
    Join Date
    Sep 2007
    Posts
    1,126
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    +rep for sure. Good job

    Couple broken links though, but other than that, pretty useful thread for people just starting.

    I live in a shoe

  7. #7
    xUrbanx's Avatar Active Member
    Reputation
    53
    Join Date
    Oct 2007
    Posts
    350
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    This should be sticked if, or when it is finished

  8. #8
    alj03's Avatar Contributor
    Reputation
    91
    Join Date
    Feb 2008
    Posts
    1,103
    Thanks G/R
    0/1
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    So much to read. But i its good stuff.
    Death to all but Metal.

  9. #9
    Found's Avatar Banned
    Reputation
    239
    Join Date
    Mar 2009
    Posts
    642
    Thanks G/R
    1/4
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Its almost done, i need to add SQL.

    But thanks for all pf the positive comments I hope it helped. Srry for walls of text.

  10. #10
    Found's Avatar Banned
    Reputation
    239
    Join Date
    Mar 2009
    Posts
    642
    Thanks G/R
    1/4
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    bump, took long time to do this. Hope it helped (done now)

  11. #11
    Reflection's Avatar Legendary
    Reputation
    783
    Join Date
    Mar 2008
    Posts
    3,377
    Thanks G/R
    1/2
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    That's looking very good L0st! I'm sure it'll help a TON of people.
    Awesome work

    Freelance Digital Artist
    https://reflectionartwork.deviantart.com
    You did not desert me
    My brothers in arms


  12. #12
    Found's Avatar Banned
    Reputation
    239
    Join Date
    Mar 2009
    Posts
    642
    Thanks G/R
    1/4
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    ty good sir

  13. #13
    mager1794's Avatar Member
    Reputation
    356
    Join Date
    Feb 2008
    Posts
    703
    Thanks G/R
    0/1
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I would of made sure to have it finished before posting because no peoples comment interrupt the guide.

    Asides from that, beautifully done +Rep x4

    --- Edit ---

    Oh noes!!! Gotta spread
    Lunar Gaming - Reaching For The Stars

  14. #14
    Confucius's Avatar Panda of Worlds The Idiot

    CoreCoins Purchaser Authenticator enabled
    Reputation
    1389
    Join Date
    Oct 2007
    Posts
    2,591
    Thanks G/R
    267/283
    Trade Feedback
    7 (100%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Hmm, very good but there are some grammar errors and it's Lua not LUA, other than that very nice guide.

  15. #15
    Found's Avatar Banned
    Reputation
    239
    Join Date
    Mar 2009
    Posts
    642
    Thanks G/R
    1/4
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Ty Confucius ill edit those

Page 1 of 3 123 LastLast

Similar Threads

  1. World of Warcraft Emulator Servers - The Basics
    By Jeremiah in forum World of Warcraft Emulator Servers
    Replies: 1
    Last Post: 03-11-2012, 06:57 PM
  2. How to make a movie (the basics)
    By Nemorosa in forum Community Chat
    Replies: 8
    Last Post: 01-25-2008, 05:48 AM
  3. the basics~
    By Sick Blood in forum WoW ME Questions and Requests
    Replies: 4
    Last Post: 01-05-2008, 10:41 PM
  4. Learning the Basics
    By Nkapocal in forum Community Chat
    Replies: 0
    Last Post: 12-13-2007, 09:14 PM
  5. Tanking For Dummies Part 1: The Basics
    By Krazzee in forum World of Warcraft Guides
    Replies: 1
    Last Post: 06-14-2006, 07:41 AM
All times are GMT -5. The time now is 09:18 PM. Powered by vBulletin® Version 4.2.3
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. User Alert System provided by Advanced User Tagging (Pro) - vBulletin Mods & Addons Copyright © 2024 DragonByte Technologies Ltd.
Digital Point modules: Sphinx-based search