FANDOM


How to do,use and conf
Logo

ArcEmulator! Getting


Getting the source code!Edit

Arcemu uses a Source Control Management system called GIT.
The role of source control management is to maintain records about the changes in the controlled/tracked files. So that we know who changed what and when, and if needed we can go back to earlier versions.
NOTE: This is very different from a simple file storage, therefore when you get the Arcemu source code, you don't just download some files, actually you download all versions of all files we have in our repository.

Step 1: GIT ClientEdit

For getting clone of emulator you must have installed a GITT Client.

Step 2: Downloading a cloneEdit

Getting Arcemu with GIT is very easy.
All you have to do is clone our main GIT repository.
Either with msysgit bash console (on Windows) or simply the console on Linux/Unix, you just have to type 1 simple command.

  • First you need to create a directory for Arcemu.
  • If you are on windows, you will have to start a git bash in that directory. ( on Linux/Unix just enter it )



  • Starting cloning the Arcemu GIT repository with the following command
git clone [[|git://github.com/arcemu/arcemu.git]] code


CMake Building SystemEdit

CMake is a cross platform build system, used to generate the native make files / project files for your platform/compiler. Since Arcemu works on many platforms, including Windows, Linux, BSD, OS X, it is ideal for our needs.

Download: http://www.cmake.org/cmake/resources/software.html

Find and start the CMake GUI

  • On startup you will see an image like this:



  • Type in the path to the "cmake" sub-directory of your Arcemu checkout to the "Where is the sourecode" field, or click "Browse source" button and find it using the file browser dialog.
  • Type in the path to the directory where you will build in to the "Where to build the binaries" field, or click the "Browse Build" button and find or create it using the file browser dialog.
  • Click the "Configure" button, and you will see



NOTE: CMake tries to identify your build environment, and choose a compiler for you. If it's the wrong one, you can of course choose another one that is supported by CMake.

  • Choose the compiler you want to build Arcemu with.

NOTE: {C}Most people will want to choose Visual Studio 2008 or 2010 for Windows, and Unix Makefiles for Linux/FreeBSD or OS X.

  • Click "Finish"


NOTE: {C}CMake will work a bit, but eventually presents you the screen where you can select which features you want to build.

NOTE: {C}If you have lots of red error text ( warnings are not errors ) in the textbox, that might mean you don't have all the requirements installed.

NOTE: If you are sure you do have them all, or the error is not related, post a new topic on forums asking for help!

  • Select the features you want to build.
  • Find the "CMAKE_INSTALL_PREFIX" option, and edit it. Fill in the path to the directory where you want to install Arcemu.

NOTE: If you are a beginner, unsure or you don't care where it's installed then on Windows you could try "C:/Arcemu", and on Unix you could use "/home/name/arcemu. Where "name" is your login name / login id.

NOTE: {C}For the sake of example, I set CMAKE_INSTALL_PREFIX to C:/Arcemu

NOTE: {C}For most people the other default options are fine.



  • Now click the "Configure" button



NOTE: {C}If everything went alright, the "Generate" button will become available/clickable.

NOTE: {C}If there are errors, it might mean you selected features that are in conflict, or that are missing some required software.

NOTE: {C}If you are sure everything you did was alright, or the errors you are getting are not related, post a new topic on forums asking for help.

  • click the "Generate" button.

NOTE: {C}If everything went OK, you will see a screen similar to this.



NOTE: {C}If you got an error or errors, post a new topic on forums asking for help!

NOTE: {C}If all went OK, CMake will tell you that "Configuring done" and "Generating done", this means you are ready to build Arcemu.

NOTE: {C}CMake generated lots of files in the build directory you specified, including project.sln for Visual Studio and Makefile for Unix platforms.

Now we go to compile it!

Requirements

You will need a C++ Compiler. The following explanations are based on Visual C++ Express 2010 which is freely available.

Please note that Visual C++ 2010 requires Windows XP SP2 at least and therefore that is Arcemu's minimum requirement as well!

Besides Visual Studio 2010, you will need CMake to generate the project files to allow you to build. Download CMake here. Install with a desktop icon (for simplicity of the guide).


Generating the build environmentEdit

Arcemu now uses the CMake cross platform build system, this means that before you can begin to build you will have to generate the build files. If you are having problems generating the solution files or you want to know what some of the options are when generating the project files, use one of the guides on this page.


Open the projectEdit

Browse to where you have generated the build files.

Then open "Arcemu.sln"


Compiling / BuildingEdit

[1] This will be written in 2 steps to attempt to explain in more detail the steps to compiling.

None of these steps can be skipped if you are to produce a working server. Read carefully


Opening the Project File will take some time at first, the program will parse everything and get the interface set up for first use.

assuming you have not ran VS2010 before.

  • A box will come up asking what your target language will be. Click "Microsoft Visual Studio C++"

If you have done this step before move on.


Step 1 (Building the Code)Edit

  • Go to the previous menu in the toolbar or press F7 to "Build Solution"

Read: Sometimes the project will error out saying it could not "create a file", clean your build by accessing the "Build" menu, shutdown VC2010 and retry.

  • The program will do some work and compile the code and related link libraries, sit back for a bit.
  • If your build was successful(you followed this guide to a T) you will get an output similar to this.

Step 2 (Copying main files)Edit

Now that you have a successful build of ArcEmu you need to install/copy the files. You can do that by selecting the INSTALL project in Visual Studio, right clicking on it, then selecting Project-Only -> Build only INSTALL.

  • Select the INSTALL project



  • Right click on it, then select Project-Only -> Build only INSTALL



  • After doing this, you should see something similar to this



Compiling for X64 target platformEdit

Users finding it impossible to compile ArcEmu X64 target platform,

"x64 compilers are not available for the Visual Studio Express edition IDEs. Microsoft targets the Express IDEs at students and hobbyists." [1]

This means that the express(usually free) version of visual studio does not contain 64 bit compilers, purchasing a version such as Visual Studio 2010 Professional allows you to then compile code in 64 bit without a problem, however it has a significantly larger footprint on your system than the express version.


Please once again note, that you don't NEED the 64bit version, the 32bit version will run just fine on your 64bit system.

Creating database for ArcEmuEdit

Installing MySQL

MySQL can be downloaded for free from here.


Installing a MySQL clientEdit

A SQL client lets you easily connect to the databases. You'll need one to import your initial database.

This is a list of some free SQL clients for Windows:

In Linux you can also use the command line client that comes with MySql, which is ultimately the fastest way to import a full database.


Creating empty databasesEdit

Using your client, connect to 127.0.0.1 with the username as "root" and the password you set when you installed MySQL.
Create 3 databases and name them:

  • arc_logon
  • arc_character
  • arc_world

(Not recommended but, if you have a limit at your provider on how many databases you can use all tables can be combined into one big database. Adjust the guide accordingly.)


Importing logon and character databasesEdit

[2]

You will not have a full database after importing these files an your server will not function, please continue reading.


Open your arcemurootfolder\sql directory. In this you will find 3 files:

character_structure.sql
logon_structure.sql
world_structure.sql

After that, switch to your character database and import the character_structure.sql file. If you're using SQLyog or Navicat you can do this by right-clicking the newly-created database, and then selecting Execute Batch File. Repeat this step with the logon database and the logon_structure.sql file.

world_structure.sql is the database structure only and it is for people who want to build their own database project. It doesn't contain any data. It's better to follow the next step how to get a world database.


Getting a world databaseEdit

The world database contains all data on things like NPCs, GameObjects, quests, gossips. For more documentation on the world database please visit: World Database

There are many different projects with different aims the most popular categories are:

  • Blizzlike data that is similar or identical to the real thing.
  • Funserver data created or made with insane, game breaking stats or values.


[3]

ArcEmu does not have an official database.
These are user contributed databases. ArcEmu has nothing to do with them, please consult with the owner's of the projects and or their media or documentation if you need help.


  • WhyDB

Website: http://www.whydb.org/

SVN Address: http://svn.xp-dev.com/svn/whydb-users/

  • A German language pack for WhyDB you can find here:

Website: http://arcgdb.org/

SVN Link: http://svn.code.sf.net/p/arcgdb/arcgdb/trunk

  • Pathway (blizzlike, custom gmisland)

Forum link: http://arcemu.org/forums/index.php?showtopic=22205

Changelog/Installation Instructions: https://github.com/Marforius/Pathway-of-the-Damned

Git: git@github.com:Marforius/ArcAddons.git



To download data from the SVN repositories you need a up to date SVN client, f.ex. for Windows Tortoise SVN Client.


[4]

After loading a world project you may have to update the database structures to an actual release. You can find more information on updating the structures yourself on Updating

Creating your administrator accountEdit

Switch to your logon database. Run the following query (replacing the values for login and password with your own):

 INSERT INTO `accounts` (login, password, gm, flags, forceLanguage, banned) VALUES ('admin', 'admin', 'az', '24', 'enEN', '0');

A breakdown of this query for those that do not understand SQL:

  • Username (login): Admin
  • Password: Admin
  • GM Level: az (for all commands)
  • Expansion: All
  • Banned: Not banned. (the field doesn't have a default value, so it's required)


Configuring a server!Edit

File: world.conf

/*********************************************************************** * ArcEmu World Configuration File * Last edited: 11/14/2010 * * Configure ArcEmu's world server below. *********************************************************************** *********************************************************************** * Mysql Database Section * * Database.Host - The hostname that the database is located on * Database.Username - The username used for the mysql connection * Database.Password - The password used for the mysql connection * Database.Name - The database name * Database.Port - Port that MySQL listens on. Usually 3306. *******************************************************/

<WorldDatabase Hostname = "host" Username = "username" Password = "passwd" Name = "database" Port = "3306"> <CharacterDatabase Hostname = "host" Username = "username" Password = "passwd" Name = "database" Port = "3306">

/****************************************************** * Listen Config * * Host * This is the address that the server will listen on. * To listen on all addresses, set it to 0.0.0.0 * Default: 127.0.0.1 (localhost) * * WorldServerPort * This is the port that the world server listens on. * It has to be the same as what is specified in the * realms table in the LogonDatabase. * Default: 8129 * ******************************************************/

<Listen Host = "0.0.0.0"

       WorldServerPort = "8129">

/****************************************************** * Log Level Setup * * File Logging Level * This directive controls how much output the server will * write to log files. It cannot be disabled * 0 = Normal + Error; 1 = Detail; 2 = Debug * Default: 0 * * World server packet logging feature * If this directive is turned on, a file called `world.log` * will be created in the server's directory and all packets * sent and received by clients will be dumped here in bfg * format. * Default: 0 * * DisableCrashdumpReport * Disables crashdump reports, else if the build has debugging enabled, * arcemu-world will call ./arcemu-crashreport every time it starts, so * if there is a core, a crashdump will automatically be reported * to the tracker at sf.net * Needs gdb and curl * Linux only * Default: 0 * ******************************************************/

<LogLevel File="0" World="0" DisableCrashdumpReport="0">

/****************************************************** * Server Settings * * PlayerLimit * This directive controls the amount of sessions that will be * accepted by the server before it starts to add people to * the server queue. * Default: 100 * * Motd * This message will be displayed by the server in the chat * box every time any user logs on. Colors can be used in the * standard WoW format. * Default: "No MOTD specified * * Send Stats On Join * This directive controls whether the server will send the online player * count to a cilent when it enters the world. * * Breathing Setup * If the breathing code is causing problems or you want to run a fun server, you can disable * water checks by enabling this directive. * Default: 1 * * Separate Channels Control * This directive controls whether horde and alliance chats will be separated across channels. * Set to 1 for blizzlike separated channels, or 0 to allow horde/alliance to speak to each other * across channels. * Default: 0 * * Compression Threshold * This directive controls the limit when update packets will be compressed using deflate. * For lower-bandwidth servers use a lower value at the cost of CPU time. * Default: 1000 * * Queue Update Rate * This directive controls how many milliseconds (ms) between the updates * that the queued players receive telling them their position in the queue. * Default: 5000 (5 seconds). * * Kick AFK Players * Time in milliseconds (ms) that a player will be kicked after they go afk. * Default: 0 (disabled) * * Connection Timeout * This directive specifies the amount of seconds that the client will be disconnected * after if no ping packet is sent. It is advised to leave it at the default. * Default: 180 * * Realm Type * This is the realm type that will be used by the server to handle world PVP. * Default: 0 (pve)(RPPVE) * Other values: 1(pvp)(RPPVP) * * AdjustPriority * Set the server to high process priority - may cause lockups. * Default: 0 * * RequireAllSignatures * This directive controls whether the full 10 signatures will be required in order * to turn in a petition. Smaller servers would be better off having it turned off. * Default: off * * ShowGMInWhoList * This directive controls whether GM's will be shown in player's who lists or not. * Default: on * * MapUnloadTime * This directive controls whether to unload map cells after an idle period of <x> seconds. * NOTE: THIS CAN'T BE SET TO 0!!! * Default: 300 * * LimitedNames * This directive forces all character names to be a-z and A-Z compliant. * Default: 1 * * UseAccountData * This directive determines whether the account_data table is used to save custom client data. * May cause buggy behaviour. * Default: 0 * * AllowPlayerCommands * This directive, if enabled can allow players to use commands with a '0' command group. * Default: 0 * * EnableLFGJoin * If this is enabled, you can join the LFG channel without using the LFG tool. * Default: 0 * * TimeZone * Set your local timezone relative to GMT here. * Default: 0 * * Collision * Enable collision system (LoS checks). * Default: 0 * Make sure you have extracted vmaps. * * DisableFearMovement (In Battlegrounds and Arenas only!) * Disable fear movement in arenas & battlegrounds. * Recommended if you do not have collision enabled! * Default: 0 (off) Not blizzlike * * SaveExtendedCharData * Enable saving extended data to characters table. * Recommended for armory type services. * Default: 0 (off) * ******************************************************/

<Server PlayerLimit = "100"

       Motd = "Welcome to the World of Warcraft!"        
        SendStatsOnJoin = "1"
       EnableBreathing = "1"
       SeperateChatChannels = "0"
       CompressionThreshold = "1000"
       QueueUpdateInterval = "5000"
       KickAFKPlayers = "0"
       ConnectionTimeout = "180"
       RealmType = "1"
       AdjustPriority = "0"
       RequireAllSignatures = "0"
       ShowGMInWhoList = "1"
       MapUnloadTime="300"
       LimitedNames="1"
       UseAccountData="0"
       AllowPlayerCommands="0"
       EnableLFGJoin="0"
       TimeZone="0"
       Collision="0"
       DisableFearMovement="0"
       SaveExtendedCharData="0">

/******************************************************** * Announce Configuration * * Tag * Configure what is shown in front of your announces in the [] brackets. * Default: Staff (would give [Staff]) * * GMAdminTag * Configure whether the <GM> or <Admin> tag is shown in announces. * Default: 0 (disabled) * * NameinAnnounce * If this is enabled the name of the person who makes an announcement will be shown in front of the msg. * Default: 1 (enabled) * * NameinWAnnounce * If this is enabled the name of the person who makes an wide-screen announcement will be shown in front * of the message. * Default: 1 (enabled) * * ShowInConsole * This controls whether announces are shown in the arcemu-world console or not. * This does not apply for the team-internal GM announce. * Default: 1 (enabled) * ********************************************************/ <Announce Tag = "Staff"

               GMAdminTag = "0"
               NameinAnnounce = "1"
               NameinWAnnounce = "1"
               ShowInConsole = "1">

/****************************************************** * Power regeneration multiplier setup * * These directives set up the multiplier in which regen values will be * multiplied by every 2 seconds. * Powers: * Power1 = Mana, Power2 = Rage, Power3 = Focus (pets), Power4 = Energy * * Reputation: * Kill = Rep gained on kill, Quest = rep gained from quests * * Honor: * Honor = multiplier used to calculate honor per-kill. * * PvP: * PvPTimer = in ms, the timeout for pvp after turning it off. default: 5mins (300000) * ArenaQueueDiff = maximum difference in average rating of 2 arena teams to be matched in queue * * XP: * The xp that a player receives from killing a creature will be multiplied * by this value in order to get his xp gain. * * RestXP: * Amount of hours needed to get one Bubble rested XP ( one bubble is 5% of the complete XP bar) * Default is 8 hrs rest for one bubble. Raising this rate causes RestedXP to be earned faster, * F.e, setting a rate of 2 makes you require only 4 hrs reesting for 1 bubble (instead of 8). * Note that resting in a resting area (Zzz) goes 4 times faster. * Default: 1 (bubble every 8 hrs) * * Drop(Color): * These values will be multiplied by the drop percentages of the items for creatures * to determine which items to drop. All default to 1. * To allow you better control of drops, separate multipliers have been created for items * of each quality group. * * DropMoney: * This value will be multiplied by any gold looted and pickpocketed * * Save: * Value in milliseconds (ms) that will be between player autosaves. * Default: 300000 (5 minutes) * * SkillChance: * The chance that you have to level up a skill in melee or a profession is multiplied * by this value. * Default: 1 * * SkillRate: * The amount of "levels" your skill goes up each time you gain a level is multiplied * by this value. * * ArenaMultiplier * Every week/day the arena points gained by a player will be multiplied by this value. * ******************************************************/

<Rates Health="1"

      Power1="1"
      Power2="1"
      Power3="1"
      Power4="1"
      QuestReputation="1"
      KillReputation="1"
      Honor="1"
      PvPTimer="300000"
      ArenaQueueDiff="150"
      Compression="1"
      XP="1"
      QuestXP="1"
      RestXP="1"
      ExploreXP="1"
      DropGrey="1"
      DropWhite="1"
      DropGreen="1"
      DropBlue="1"
      DropPurple="1"
      DropOrange="1"
      DropArtifact="1"
      DropMoney="1"
      Save="300000"
      SkillChance="1"
      SkillRate="1"
      ArenaMultiplier2x="1"
      ArenaMultiplier3x="1"
      ArenaMultiplier5x="1">

/****************************************************** * GM Client Channel * * This should be set to 'gm_sync_channel' for various Game Master ticket addons to work. * In ArcGM you can set this to be any channel you wish, however it is good to announce if you change this to anything other then default to your staff * to avoid confusion. * Default: gm_sync_channel * ******************************************************/

<GMClient GmClientChannel = "gm_sync_channel">

/****************************************************** * Terrain & Collision Settings * * Set the path to the map_xx.bin files and whether unloading should be enabled * for the main world maps here. Unloading the main world maps when they go idle * can save a great amount of memory if the cells aren't being activated/idled * often. Instance/Non-main maps will not be unloaded ever. * * Default: * MapPath = "maps" * vMapPath = "vmaps" * UnloadMaps = 1 * ******************************************************/

<Terrain MapPath = "maps"

        vMapPath = "vmaps"
        UnloadMaps = "1">

/****************************************************** * Log Settings * * Cheaters: * This directive sets up the cheater logging file, if turned on any * cheat / packet exploit / speedhack attempts will be logged here. * * GMCommands: * These two directives set up the GM command logging fie. If turned on, * most gm commands will be logged for this file for abuse investigation, etc. * * TimeStamp: * Enables timestamps in logs. * ******************************************************/

<Log Cheaters="0" GMCommands="0" TimeStamp="0">

/****************************************************** * Mail System Setup * * These directives control the limits and behaviour of the ingame mail system. * All options must have Mail prefixed before them. * * ReloadDelay * Controls the delay at which the database is "refreshed". Use it if you're * inserting mail from an external source, such as a web-based interface. * 0 turns it off. * Default: 0 * * DisablePostageCostsForGM * Enables/disables the postage costs for GM's. DisablePostageCosts overrides this. * Default: 1 * * DisablePostageCosts * Disables postage costs for all players. * Default: 0 * * DisablePostageDelayItems * Disables the one hour wait time when sending mail with items attached. * Default: 1 * * DisableMessageExpiry * Turns off the 30 day / 3 day after read message expiry time. * WARNING: A mailbox still cannot show more than 50 items at once * (stupid limitation in client). * Default: 0 * * EnableInterfactionMail * Removes the faction limitation for sending mail messages. Applies to all players. * Default: 1 * * EnableInterfactionMailForGM * Removes the faction limitation for sending mail messages, but only applies * to GM's. EnableInterfactionMail overrides this. * Default: 1 * ******************************************************/

<Mail ReloadDelay="0"

     DisablePostageCostsForGM="1"
     DisablePostageCosts="0"
     DisablePostageDelayItems="1"
     DisableMessageExpiry="0"
     EnableInterfactionMail="1"
     EnableInterfactionMailForGM="1">

/****************************************************** * Status Dumper Config * * These directives set up the status dumper plug-in. Filename is an * absolute or relative path to the server binary. Interval is the * time that the stats will be dumped to XML. * Default: stats.xml / 120000 (2 minutes) * ******************************************************/

<StatDumper FileName = "stats.xml" Interval = "120000">

/****************************************************** * Startup Options * * Preloading * This directive controls whether the entire world will be spawned at server * startup or on demand. It is advised to leave it disabled unless you are a * developer doing testing. * Default: off * * Background Loot Loading * This directive controls whether loot will be loaded progressively during * startup or in the background in a separate thread. Turning it on will * result in much faster startup times. * Default: on * * Multithreaded Startup * This controls whether the server will spawn multiple worker threads to * use for loading the database and starting the server. Turning it on * increases the speed at which it starts up for each additional CPU in your * computer. * Default: on * * Unimplemented Spell ID Dump * This directive controls whether to dump the IDs of spells with unimplemented * dummy/scripted effect or apply dummy aura effect. You need to load the * spellhandlers library for this to actually produce a valid result! * Default: off * * * Additional Table Binding * You can load static item/creature/etc data into the server using this directive. * This way throughout database updates your custom data can be preserved. * Format: "sourcetable destination table,sourcetable destinationtable" * Example: "myitems items,mynpcs creature_names" * Default: "" * ******************************************************/

<Startup Preloading = "0"

        BackgroundLootLoading = "1"
        EnableMultithreadedLoading = "1"
        EnableSpellIDDump = "0"
        LoadAdditionalTables="">

/****************************************************** * Flood Protection Setup * * Lines * This is the number of "messages" or lines that it will allow before stopping messages from * being sent. This counter is reset every "Seconds" seconds. * Default: 0 (disabled) * * Seconds * This is the number of seconds in between the Line counter being reset. * Default: 0 (disabled) * * SendMessage * If this is enabled, a "Your message has triggered serverside flood protection. You can speak again in %u seconds." * message will be sent upon flood triggering. * Default: 0 * ******************************************************/

<FloodProtection Lines = "0" Seconds = "0" SendMessage = "0">

/****************************************************** * LogonServer Setup * * DisablePings * This directive controls whether pings will be sent to the logonserver to check * if the connection is still "alive". Expect problems if it is disabled. * Default: 0 * * RemotePassword * This directive controls the password used to authenticate with the logonserver. * It must be the same between the two configs. If it is not, your server will * not register. * ******************************************************/

<LogonServer DisablePings = "0"

            RemotePassword = "change_me_world">

/****************************************************** * AntiHack Setup * Note: Most of this doesn't work as it should. * * Teleport * This directive controls anti-teleport hack checks will be enabled or not. * Default: 1 * * Speed * This directive controls anti-speed hack checks will be performed on player movement or not. * Default: 1 * * SpeedThreshold * This directive controls the threshold at which the speedhack detection will trip. * It's (characters' move time of distance - real move time of distance) * Default: -600.0 * * FallDamage * This directive controls anti-fall damage hack checks will be performed on player movement or not. * Default: 1 * * Flying * This directive controls whether flight hacks will be performed on players or not. * Default: 1 * * FlightThreshold * This directive controls the height at which you must be above the vmaps height before you are flagged as "flying" and are subject to kicks. * Default: 10 * * DisableOnGM * This directive controls hack checks will be disabled for GM's or not. * Default: 0 * ******************************************************/

<AntiHack Teleport="1"

         Speed="1"
         FallDamage="1"
         Flight="1"
 FlightThreshold="10"
          DisableOnGM="1">

/****************************************************** * Period Setup * * These are the periods that the server will wait before doing periodic duties. At the moment only * arena point calculation and honor point calculation are used here. * * Default: * Arena: weekly * Honor: daily * (blizzlike values) * ******************************************************/

<Periods HonorUpdate="daily"

        ArenaUpdate="weekly"
        DailyUpdate="daily">

/****************************************************** * Channels Setup * * These directives control some of the aspects in the channel system. * * BannedChannels * If you would like to ban users from creating or joining a channel specify them here in a ';' * separated list. * Default: "" * * MinimumLevel * Channel names that require a minimum level of 10 to talk, seperate names by ; * Default: "" * * ******************************************************/

<Channels BannedChannels=""

         MinimumLevel="">

/****************************************************** * Remote Console Setup * * These directives control the remote administration console. * * Enabled * If you want to enable the remote administration console, set this. * Default: 0 * * Host * This is the interface the RA server listens on. * Default: "0.0.0.0" * * Port * This is the TCP port the RA server listens on. Connect to it with a regular telnet client. * Default: 8092 * ******************************************************/

<RemoteConsole Enabled="0"

              Host="0.0.0.0"
              Port="8092">

/****************************************************** * Movement Setup * * NOTE: For any of these directives to function, movement compression has to be compiled into * the server. * * FlushInterval * This is the interval at which movement packets will be flushed to the client, i.e. compressed/sent. * If you have a high threshold, keeping this at 1-2 seconds will work better. * Default: 1000 (one second) * * CompressionRate * This is the deflate compression rate. Higher will use more cpu, but smaller packets. * Range: 1-9 (or 0 is disable) * Default: 1 * * CompressionThreshold * This is the distance that will be used to determine if an object needs to be sent compressed or * normal. It is advised to keep it at least 30 units. This value is used for players. * Default: 30.0 * * CompressionThresholdCreatures * This is the distance that will be used to determine if an object needs to be sent compressed or * normal. This value is used for creatures, so it can be a lot lower. * Default: 10.0 * ******************************************************/

<Movement FlushInterval="1000"

         CompressRate="1"
         CompressThreshold="30.0"
         CompressThresholdCreatures="10.0">

/****************************************************** * Localization Setup * * LocaleBindings * This is a list of locale names and the other locale you want to associate with them. * For example, to make the European client always use the French language, "enGB=frFR" * * Must be terminated by a space. * * Default: "" * ******************************************************/

<Localization LocaleBindings="">
/****************************************************** * Dungeon / Instance Setup * * TakeGroupLeaderID * If a player doesn't have an instance id, the group isn't already assigned * to an instance and the group or raid leader already have one, the player will * be bound to the instance id of the group/raid leader. * Default: 1 (enabled) * * SlidingExpiration * If enabled, persistent instances will expire relative to the creation time. * Otherwise persistent instances will expire at fixed points of time. (blizz like) * Default: 0 (disabled) * * DailyHeroicInstanceResetHour * Sets the hour of day when heroic instances will be reset on disabled SlidingExpiration. * Default: 5 * * CheckTriggerPrerequsites * Entering & checks * Default: 1 ******************************************************/

<InstanceHandling TakeGroupLeaderID="1"
SlidingExpiration="0"
DailyHeroicInstanceResetHour="5"
CheckTriggerPrerequsites="1" >

/****************************************************** * BattleGround settings * Set Rules for Min / Max players ---- PS.Min for each side | Max for Total * * AlteracValley * AV_MIN * AV_MAX * * ArathiBasin * AB_MIN * AB_MAX * * WarSong * WS_MIN * WS_MAX * * Eyes Of The Storm. * EOS_MIN * EOS_MAX * ******************************************************/

<Battleground AV_MIN="10"

             AV_MAX="40"
             AB_MIN="5"
             AB_MAX="15"
             EOS_MIN="5"
             EOS_MAX="15"
             WS_MIN="5"
             WS_MAX="10"
             SOTA_MIN="5"
             SOTA_MAX="15">

/***************************************************** * Arena Settings * * Allows you to control current season and its progress. * * Season - has to be higher than 0 for arenas to work. * Progress - sets the progress, 0 = finished, 1 = in progress * *****************************************************/

<Arena Season = "8"

      Progress = "1">

/***************************************************** * GameMaster settings * * StartOnGMIsland * Makes GM Characters start on GM Island * Also sets their bind location to GM Island * Default:1 (Yes) * * DisableAchievements * Disables achievements for GameMasters. * Default:0 (No) * *****************************************************/

<GameMaster StartOnGMIsland = "1"

           DisableAchievements = "0">

/***************************************************** * Limits settings * * Enable * Enable damage/hp/mana caps * Default value: 1 (enabled) * AutoAttackDmg * Maximum damage allowed for auto-attack (swing) * Default value: 10000 * SpellDmg * Maximum damage allowed for a spell * Default value: 30000 * Health * Maximum health allowed for a player * Default value: 100000 * Mana * Maximum mana allowed for a player * Default value: 80000 * Disconnect * Disconnect player that exceeds limits above * Default value: 0 (disabled) * BroadcastGMs * Broadcast a message to online GMs when max damage/hp/mana has been exceeded (possible cheating) * Default value: 1 (on) * * Set any of the values above to 0 to disable that setting (for example, set SpellDmg="0" to disable only spell damage limit) * *****************************************************/

<Limits Enable="1" AutoAttackDmg="10000" SpellDmg="30000" Health="100000" Mana="80000" Disconnect="0" BroadcastGMs="1">

Invalid language.

You need to specify a language like this: <source lang="html4strict">...</source>

Supported languages for syntax highlighting:

4cs, 6502acme, 6502kickass, 6502tasm, 68000devpac, abap, actionscript, actionscript3, ada, algol68, apache, applescript, apt_sources, arm, asm, asp, asymptote, autoconf, autohotkey, autoit, avisynth, awk, bascomavr, bash, basic4gl, bf, bibtex, blitzbasic, bnf, boo, c, c_loadrunner, c_mac, caddcl, cadlisp, cfdg, cfm, chaiscript, cil, clojure, cmake, cobol, coffeescript, cpp, cpp-qt, csharp, css, cuesheet, d, dcl, dcpu16, dcs, delphi, diff, div, dos, dot, e, ecmascript, eiffel, email, epc, erlang, euphoria, f1, falcon, fo, fortran, freebasic, freeswitch, fsharp, gambas, gdb, genero, genie, gettext, glsl, gml, gnuplot, go, groovy, gwbasic, haskell, haxe, hicest, hq9plus, html4strict, html5, icon, idl, ini, inno, intercal, io, j, java, java5, javascript, jquery, kixtart, klonec, klonecpp, latex, lb, ldif, lisp, llvm, locobasic, logtalk, lolcode, lotusformulas, lotusscript, lscript, lsl2, lua, m68k, magiksf, make, mapbasic, matlab, mirc, mmix, modula2, modula3, mpasm, mxml, mysql, nagios, netrexx, newlisp, nsis, oberon2, objc, objeck, ocaml, ocaml-brief, octave, oobas, oorexx, oracle11, oracle8, oxygene, oz, parasail, parigp, pascal, pcre, per, perl, perl6, pf, php, php-brief, pic16, pike, pixelbender, pli, plsql, postgresql, povray, powerbuilder, powershell, proftpd, progress, prolog, properties, providex, purebasic, pycon, pys60, python, q, qbasic, rails, rebol, reg, rexx, robots, rpmspec, rsplus, ruby, sas, scala, scheme, scilab, sdlbasic, smalltalk, smarty, spark, sparql, sql, stonescript, systemverilog, tcl, teraterm, text, thinbasic, tsql, typoscript, unicon, upc, urbi, uscript, vala, vb, vbnet, vedit, verilog, vhdl, vim, visualfoxpro, visualprolog, whitespace, whois, winbatch, xbasic, xml, xorg_conf, xpp, yaml, z80, zxbasic


File: logon.conf

/*********************************************************************** * ArcEmu Logonserver Configuration File * Last edited: 11/14/2010 * ******************************************************************************* * Configure the logonserver to connect to the accounts mysql database below * ******************************************************************************* * Database Section * * LogonDatabase.Host - The hostname that the database is located on * LogonDatabase.Username - The username used for the mysql connection * LogonDatabase.Password - The password used for the mysql connection * LogonDatabase.Name - The database name * LogonDatabase.Port - Port that MySQL listens on. Usually 3306. *******************************************************************************/

<LogonDatabase Hostname = "host"
Username = "username"
Password = "Passwd"
Name     = "database"
Port     = "3306">

/* Host Directive * * This is the address that the realmlist will listen on. * To listen on all addresses, set it to 0.0.0.0 * Default: 127.0.0.1 (localhost) * * Note: ISHost is the interserver communication listener. */

<Listen Host = "0.0.0.0"
ISHost = "0.0.0.0"
RealmListPort = "3724"
ServerPort = "8093">

/* Server file logging level * * This directive controls how much output the server will * write to log files. It cannot be disabled * 0 = Normal + Error; 1 = Detail; 2 = Debug * Default: 0 */

<LogLevel File = "0">

/* Account Refresh Time * * This controls on which time interval accounts gets * refreshed. (In seconds) * Default = 600 * 600 seconds = 10 minutes - 1 second = 0.0166666667 minutes 300 seconds = 5 minutes, 150 seconds = 2.5minutes * */

<Rates AccountRefresh = "600">

/* WorldServer Setup * * RemotePassword * This directive controls the password used to authenticate with the worldserver. * It must be the same between the two configs. If it is not, your server will * not register. * * Default: "change_me_logon" * * AllowedIPs * This section MUST be completed, otherwise all attempts to link your servers will fail. * These "Allowed" fields are a space-separated list of CIDR-form IP addresses that are allowed * to make server connections to your logonserver, and register realms. * For example, everything in the 127.0.0.* range would be: * 127.0.0.0/24, as 24 of the bits must match the 127.0.0.0 * * To allow a single IP, * 1.3.3.7/32, would allow only 1.3.3.7 to connect as 32 of the bits must match. * * AllowedModIPs * In the same form as AllowedIPs, these are the IPs that are allowed to modify the database * (adding bans, GMs, account permissions, etc) */

<LogonServer RemotePassword = "change_me_logon"
AllowedIPs = "127.0.0.1/24"
AllowedModIPs = "127.0.0.1/24">

'''File: logon.conf'''

/*********************************************************************** * ArcEmu Logonserver Configuration File * Last edited: 11/14/2010 * ******************************************************************************* * Configure the logonserver to connect to the accounts mysql database below * ******************************************************************************* * Database Section * * LogonDatabase.Host - The hostname that the database is located on * LogonDatabase.Username - The username used for the mysql connection * LogonDatabase.Password - The password used for the mysql connection * LogonDatabase.Name - The database name * LogonDatabase.Port - Port that MySQL listens on. Usually 3306. *******************************************************************************/

<LogonDatabase Hostname = "host"
Username = "username"
Password = "Passwd"
Name     = "database"
Port     = "3306">

/* Host Directive * * This is the address that the realmlist will listen on. * To listen on all addresses, set it to 0.0.0.0 * Default: 127.0.0.1 (localhost) * * Note: ISHost is the interserver communication listener. */

<Listen Host = "0.0.0.0"
ISHost = "0.0.0.0"
RealmListPort = "3724"
ServerPort = "8093">

/* Server file logging level * * This directive controls how much output the server will * write to log files. It cannot be disabled * 0 = Normal + Error; 1 = Detail; 2 = Debug * Default: 0 */

<LogLevel File = "0">

/* Account Refresh Time * * This controls on which time interval accounts gets * refreshed. (In seconds) * Default = 600 * 600 seconds = 10 minutes - 1 second = 0.0166666667 minutes 300 seconds = 5 minutes, 150 seconds = 2.5minutes * */

<Rates AccountRefresh = "600">

/* WorldServer Setup * * RemotePassword * This directive controls the password used to authenticate with the worldserver. * It must be the same between the two configs. If it is not, your server will * not register. * * Default: "change_me_logon" * * AllowedIPs * This section MUST be completed, otherwise all attempts to link your servers will fail. * These "Allowed" fields are a space-separated list of CIDR-form IP addresses that are allowed * to make server connections to your logonserver, and register realms. * For example, everything in the 127.0.0.* range would be: * 127.0.0.0/24, as 24 of the bits must match the 127.0.0.0 * * To allow a single IP, * 1.3.3.7/32, would allow only 1.3.3.7 to connect as 32 of the bits must match. * * AllowedModIPs * In the same form as AllowedIPs, these are the IPs that are allowed to modify the database * (adding bans, GMs, account permissions, etc) */

<LogonServer RemotePassword = "change_me_logon"
AllowedIPs = "127.0.0.1/24"
AllowedModIPs = "127.0.0.1/24">

In next article we will finish configuring and run the server.

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.