[Show Table of Contents]


§Background

  • A lot of questions come up on the forums and IRC about configuring up EQEMu correctly, so we decided to redo the configuration system and make it more simple with some sane defaults (where possible) out of the box.
  • So, when configuring a 0.6.5 or later server the idea on the configuration is to only set/override what you really need to change. Most of the stuff you will not need to change, but there are options there just in case.
  • Note: LoginServer.ini, db.ini and addon.ini are no longer used to configure EQEMu servers for 0.6.5 and later. Currently, there is is not a converter but one has been talked about.

§Before you begin

  • The recommended way to configure your server is to start with the minimum configuration and add in only the sections of the config that you want to change away from the defaults.
  • Most of the settings you will not have a need to change. If you think you do, you are probably wrong. If you really think you do, you are probably still wrong. But, just in case, we'll go over them all.
  • I'll walk through two configuration files. First, a minimal configuration which will probably work for 99.9% of you and then a full configuration to show and describer all the available settings. If you are looking to get your server up fast, use the minimal/recommneded config.

§Minimal/Recommened Configuration

Here is the recommended minimum configuration file that you could use to get your server up and running.

This XML should be in eqemu_config.xml in the same directory that you start world / eqlaunch / zone from.



        
                setme
                I Forgot To Edit My Config

                
                some long random string
        

A few notes on the above config:

  1. The key element is not, technically, required. But, it is recommaned as it will prevent unauthorized zones and launchers from connecting to your world server.
  2. Since there is no element (see , below) it's assumed that there is a mysql user called "eq" with a password of "eq" and that your database is called "eq".
  3. You'll notice that there is nothing setting the address of your server. This is on purpose. (see, Addresses, below)

§Full Configuration

  • Here is a full configuration file example. An up to date version of this config file is hopefully always avaliable in the source code in utils/defaults/eqemu_config.xml.full


	
		setme
		I Forgot To Edit My Config

		
		
		

		
                
                        
                        1
                        login.eqemulator.net
                        5998
                        
                        
                        
                

		
		
		

        
        
        
                
		
		some long random string(change this)

		
		

    	
	    
		    channels.eqemulator.net
    		7779
	    

    	
	    
		    channels.eqemulator.net
    		7779
	    

    	
	    	0

    		
	    	
        

    	
	    
		    127.0.0.1
    		3306
	    	eq
		    eq
    		eq
	    

    	
	    	127.0.0.1
		    3306
    		eq
	    	eq
		    eq
    	

	    
    	
	    	
		    
    		
	    	
    	

    	
	    
		    
    		
	    	
		    
    		
	    

    	
	    
    		
	    	
		    
    		
	    	
		    
    		
	    
    

 

§Elements

§world

  • These are the xml entries that can be inside the tags. If they are not there, the shown defaults will be used.

        
                setme
                I Forgot To Edit My Config
        
  • These are really the two main items in world that you need to set, the others will default to values that are probably correct. Shortname will be used for things like chat channels, client side log and ini file names.

    
        
        
        
    
  • These two should not need to be set. If you think you need to, you are probably wrong. If you really, really think you need to, you are probably still wrong. But, just in case they are here.
  • World discovers its local address when it connects to the loginserver and provides to the loginserver so it can tell local clients to use the internal address. When world connects to the loginserver, the loginserver tells world what it sees for it's external address so world can tell remote clients what IP to use for connecting to zones from the outside.
  • Confusing? Maybe. The important thing is, it works. Let it do it's job.

§loginserver

        
                
                
                        
                        1
                        login.eqemulator.net
                        5998
                        
                        
                        
                
        
  • These should not need to be set except in the case if you have an loginserver account for your server, then you should only need to set the account/password values. If you leave the host/port settings out, they will default to what is shown above. When in doubt, leave it out.

§locked and unlocked

        
                
                
                
        
  • You can probably figure these out for yourself. Left for an excercise for the reader (thats you).

§tcp and telnet

        
        
            
            
        
  • This is where you can change the port that world listens on for TCP connections for the zones to connect to and for the telnet console. Telnet is disabled by default and I'd consider leaving it that way and using the embedded HTTP server instead.

§key

        
                
                some long random string
        
  • This is the authorization key that zones and the launcer will present to world to prevent unauthorized access. It's recommended that you set this.

§http

        
                
                
        
  • This is where you can change what port the embedded HTTP server is listening on for requests. Again, if it's left out the shown defaults will be used. You can do many things with your server by using the embedded HTTP server. Point your favorite browser at it and take a peek.

§chatserver

        
        
                channels.eqemulator.net
                7779
        
  • Defines the host and port where the chat channel server is. You shouldn't need to set/change this.

§mailserver

        
        
                channels.eqemulator.net
                7779
        
  • Defines the host and port where the mail (for in-game mail) server is. This is currently not implemented. You shouldn't need to set/change this.

§zones

  • The settings under the zone elements are used to control different aspects of the starting and controlling of zones.

§

        
                0
        
  • You guessed it, the default status that new accounts get on creation.

§ports

                
                
  • This is the port range that world will use to assign ports dynamically to zones as they connect. You probably don't need to

§database

        
        
                localhost
                3306
                eq
                eq
                eq
        
  • This is where you can change where have created your database or what username/password you are using.

§launcher

           
        
                
                
                
                
        
  • This is where you can change the behavior of the launcher.

§logprefix and logsuffix

        
                logs/zone-
                .log
        
  • These options set the path, prefix, and suffix of the log files which the launcher pipes all of zone's output into. Any intermediate directories will not be created, so make sure they exist. The zone launch name will be sandwiched between prefix and suffix, eg: logs/zone-butcher.log would be the log file for a static butcher zone, and logs/zone-dynamic_01.log would be the log for your first dynamic zone.

§exe

        
                zone.exe
                
                ./zone
        
  • This option allows you to specify which zone binary the launcher will run. If you build your zone with perl support into ZonePerl.exe instead of Zone.exe, you can specify that here.

§timers

        
                
        

This element lets you configure various timers that the launcher uses. All values are in milliseconds.

  1. restart - This is the time between when a zone goes down, and when it is started back up again.
  2. reterminate - This is how long we wait after sending a kill signal to a zone before killing it again.
  3. initial - This is the time we wait after booting the first zone on the machine before booting any more zones (to let shared memory load).
  4. interval - This is the time between booting each subsequent zone.

§files

        
        
                
                
                
                
        
  • These entries are provided if you need to override the names or locations of the needed files. You probably don't need to change these settings.

§directories

        
        
                
                
                
        
  • These entries are provided if you need to override the names or locations of the needed directories. You probably don't need to change these settings.