| 
   | 
   | 
  
 
    | 
    | 
    | 
  
 
    | 
   | 
    | 
  
 
    | 
   | 
    | 
  
 
    | 
   | 
    | 
  
 
   | 
  
	
		
   
   
      | General::News EQemu news posts. | 
    
    
   
		 
	 
 
	
	
		
	
	
 
    | 
   | 
    | 
  
 
	
		
		
		
			
			 
			
				01-13-2018, 07:48 PM
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Administrator 
				
				
				
			 | 
			  | 
			
				
				
					Join Date: Feb 2009 
					Location: MN 
					
					
						Posts: 2,072
					 
					
					
					
					     
				 
				
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
			
			
				 
				Dev Blog: New Server Config Loader (Json)
			 
			 
			
		
		
		
		 
Thanks to the work of Shin Noir (Xackery) from RebuildEQ, we've converted our server config loader from XML to JSON.
 
This is now live, whenever new binaries are used, world.exe will automatically pull down a config converter before attempting to load the config. This looks something like this:
 https://i.imgur.com/yobyMNg.png
World will use the new eqemu_config.json effective immediately. All other utilities that were built around loading config variables from XML will have to be adjusted or updated to use the JSON format.
 
A backup of the old XML config will be located in serverdir/backups/
 - The Perl MySQL plugin has been updated already: see here
 
- Linux Installer now uses the new .json format
 
- Windows Installer now uses the new .json format
 
- DiscordEQ OOC chat relay built by Shin should have a new release ready for this change: see here
 
 
If you find any tools or utilities tied to the old XML format that needs to be changed or adjusted, let us know in this thread and we will make sure that things get adjusted appropriately.  
		
	
		
		
		
		
		
		
		
		
		
		
						  
				
				Last edited by Akkadius; 01-13-2018 at 08:02 PM..
				
				
			
		
		
	
		
		
	
	
	 | 
 
 
 
    | 
   | 
    | 
  
 
	 
	
		 
	 
 
	
	
		
	
	
	
		
		
		
			
			 
			
				01-13-2018, 08:52 PM
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Discordant 
				
				
				
			 | 
			  | 
			
				
				
					Join Date: May 2016 
					Location: Under a rock 
					
					
						Posts: 290
					 
					
					
					
					     
				 
				
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
			
			
			 
			
		
		
		
		Sorry for an annoying question, lol. I was just curious about the future. If one was using old binaries, (for example, compiled last week), 
is anything planned for the future that would interfere with older binaries patching into the public eqemu login server ? 
This whole .json thing is something I need to learn about, so just checking for future reference    
		
	
		
		
		
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
	
		 
	 
 
	
	
		
	
	
	
		
		
		
			
			 
			
				01-14-2018, 05:31 AM
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Discordant 
				
				
				
			 | 
			  | 
			
				
				
					Join Date: May 2016 
					Location: Under a rock 
					
					
						Posts: 290
					 
					
					
					
					     
				 
				
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
			
			
			 
			
		
		
		
		BUG ?? 
When I ran new binaries, it got this far and just hung there. But in my server directory, I noticed it kept deleting the 
eqemu_server.pl file and replacing it. Just kept doing that continuously, (looped) It was just a test box anyways. 
I also tried just running the script by itself (without binaries) and got the same thing.
 
	Code: 
	Pulling down EQEmu Server Maintenance Script (eqemu_server.pl)...
[Update] Script has been updated, updating...
[Install] Installing :: eqemu_server.pl
[Update] No script update necessary... 
 EDIT - The "new" script works fine with old binaries, but I also noticed, from trying to run it before, it never did 
update anything related to json conversion. (no config or anything). I tried both my own compiled new binaries 
and the precompiled downloaded ones. Couldn't get past the "hanging" with any new binaries.  
		
	
		
		
		
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
	
		 
	 
 
	
	
		
	
	
	
		
		
		
			
			 
			
				01-14-2018, 09:11 PM
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Discordant 
				
				
				
			 | 
			  | 
			
				
				
					Join Date: May 2016 
					Location: Under a rock 
					
					
						Posts: 290
					 
					
					
					
					     
				 
				
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
			
			
			 
			
		
		
		
		I grabbed the "fixed" eqemu_server.pl from gitpull today and works like a charm. Thank You    
		
	
		
		
		
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
	
		 
	 
 
	
	
		
	
	
	
		
		
		
			
			 
			
				01-14-2018, 09:59 PM
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Administrator 
				
				
				
			 | 
			  | 
			
				
				
					Join Date: Feb 2009 
					Location: MN 
					
					
						Posts: 2,072
					 
					
					
					
					     
				 
				
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
			
			
			 
			
		
		
		
		
	Quote: 
	
	
		
			
				
					Originally Posted by  The_Beast
					 
				 
				I grabbed the "fixed" eqemu_server.pl from gitpull today and works like a charm. Thank You    
			
		 | 
	 
	 
 Glad you got it sorted - however if that is happening to other folks I will need to iron out whatever was causing it
 
No worries    
		
	
		
		
		
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
	
		 
	 
 
	
	
		
	
	
 
    | 
   | 
    | 
  
 
	
		
		
		
			
			 
			
				01-15-2018, 02:59 AM
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Discordant 
				
				
				
			 | 
			  | 
			
				
				
					Join Date: May 2016 
					Location: Under a rock 
					
					
						Posts: 290
					 
					
					
					
					     
				 
				
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
			
			
				 
				
			 
			 
			
		
		
		
		Smee again :P 
Seems to have downloaded, yet, a newer script, but it's spitting out errors. It doesn't do the json conversion for xml 
and oddly enough, it's setting a db version for bots, which I don't even have enabled, lol It set the version at 0 in DB. 
This is all on a test box that I'm using to help work out bugs, so I can freely wipe the server and redo anytime.
 
	Code: 
	[Update] Script has been updated, updating...
[Install] Installing :: eqemu_server.pl
[Update] No script update necessary...
cannot open file  at eqemu_server.pl line 326. <---
[Update] Bots database up to Date: Continuing World Bootup...
Invalid command 'start_from_world'
[Install] Done
cannot open file  at eqemu_server.pl line 326. <---
[Update] Bots database up to Date: Continuing World Bootup...
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>> EQEmu Server Main Menu >>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 [database]     Enter database management menu
 [assets]       Manage server assets
 [new_server]   New folder EQEmu/PEQ install - Assumes MySQL/Perl installed
 [setup_bots]   Enables bots on server - builds code and database requirements
 exit
Enter a command #> database
>>> Database Menu
 [backup_database]              Back up database to backups/ directory
 [backup_player_tables]         Back up player tables to backups/ directory
 [backup_database_compressed]   Back up database compressed to backups/ director
y
 [check_db_updates]             Checks for database updates manually
 [check_bot_db_updates]         Checks for bot database updates
 [aa_tables]                    Downloads and installs clean slate AA data from
PEQ
 [remove_duplicate_rules]       Removes duplicate rules from rule_values table
 [drop_bots_db_schema]          Removes bot database schema
> main - go back to main menu
Enter a command #> check_db_updates
[Database] Retrieving latest database manifest...
[Download] Saved: (db_update/db_update_manifest.txt) from https://raw.githubuser
content.com/EQEmu/Server/master/utils/sql/db_update_manifest.txt
[Database] Reading manifest...
[Database] Retrieving latest database manifest...
[Download] Saved: (db_update/db_update_manifest.txt) from https://raw.githubuser
content.com/EQEmu/Server/master/utils/sql/db_update_manifest.txt
[Database] No updates need to be run...
[Database] Setting Database to Binary Version ((xmltojson.exe) from https://raw.
githubusercontent.com/EQEmu/Server/master/utils/xmltojson/xmltojson-windows-x86.
exe
Converting eqemu_config.xml to eqemu_config.json
Server element not found <----
Binary Database Version) if not already...
ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the ma
nual that corresponds to your MySQL server version for the right syntax to use n
ear 'from https://raw.githubusercontent.com/EQEmu/Server/master/utils/xmltojson/
xmlto' at line 1 
  
		
	
		
		
		
		
		
		
		
		
		
	
		
			
			
			
			
				 
			
			
			
			
			
			
				
			
			
			
		 
		
	
	
	 | 
 
 
 
    | 
   | 
    | 
  
 
	 
	
		 
	 
 
	
	
		
	
	
	
		
		
		
			
			 
			
				01-15-2018, 03:09 AM
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Administrator 
				
				
				
			 | 
			  | 
			
				
				
					Join Date: Feb 2009 
					Location: MN 
					
					
						Posts: 2,072
					 
					
					
					
					     
				 
				
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
			
			
			 
			
		
		
		
		I just ran a conversion using the latest script and latest binaries and it converted just fine, not sure how you're running into that issue. 
 
Are you running your server binaries within the context of the server directory? 
 
Are you doing something different? 
		
	
		
		
		
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
	
		 
	 
 
	
	
		
	
	
	
		
		
		
			
			 
			
				01-15-2018, 03:49 AM
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Legendary Member 
				
				
				
			 | 
			  | 
			
				
				
					Join Date: Apr 2002 
					Location: Seattle, WA 
					
					
						Posts: 506
					 
					
					
					
					     
				 
				
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
			
			
			 
			
		
		
		
		
	Quote: 
	
	
		
			
				
					Originally Posted by  The_Beast
					 
				 
				Smee again :P 
Seems to have downloaded, yet, a newer script, but it's spitting out errors. It doesn't do the json conversion for xml 
and oddly enough, it's setting a db version for bots, which I don't even have enabled, lol It set the version at 0 in DB. 
This is all on a test box that I'm using to help work out bugs, so I can freely wipe the server and redo anytime. 
			
		 | 
	 
	 
 Look at your eqemu_config file, and check the top line.  
It is saying it can't find the server element.. 
See if server is there. Is it by chance not all lowercase ? e.g. Server?  
		
	
		
		
		
		
		
		
			
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
	
		 
	 
 
	
	
		
	
	
	
		
		
		
			
			 
			
				01-15-2018, 03:28 AM
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Sarnak 
				
				
				
			 | 
			  | 
			
				
				
					Join Date: Mar 2015 
					
					
					
						Posts: 62
					 
					
					
					
					     
				 
				
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
			
			
			 
			
		
		
		
		I can confirm I also just ran the latest script on a virtual machine that hasn't even been turned on for 6 months. It converted the .xml to .json without issue. 
		
	
		
		
		
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
	
		 
	 
 
	
	
		
	
	
 
    | 
   | 
    | 
  
 
	
		
		
		
			
			 
			
				01-15-2018, 04:12 AM
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Discordant 
				
				
				
			 | 
			  | 
			
				
				
					Join Date: May 2016 
					Location: Under a rock 
					
					
						Posts: 290
					 
					
					
					
					     
				 
				
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
			
			
				 
				
			 
			 
			
		
		
		
		In reference my other post (see "works like a charm"), the whole server was working perfect without issues. Then tonight, all I did was 
run the eqemu_server.pl script (in the server directory), and wanted to check_db_updates. But when I ran the script, it pulled an updated 
version and got those errors shown. World won't even run now, so have to find out why. But as I said, I did nothing except run the script 
for db updates, like I've been doing for a long time now.
 
Just to add: I've been trying to get it to convert the config over to json.(again). I have 3 different configs setup on this one box, for test. 
One for local, one for lan, and one for public. I was simply trying to get them all (one by one) converted over to json. But deleting the json 
config and putting one of those old configs in, it won't convert them now.
 
	Quote: 
	
	
		
			
				
					Originally Posted by  Akkadius
					 
				 
				whenever new binaries are used, world.exe will automatically pull down a config converter before attempting to load the config. 
			
		 | 
	 
	 
 This is the reason I "assumed", if I deleted the json config, replace it with another older xml config, it would 
convert it over when world was run. Guess I assumed wrong, lol  
		
	
		
		
		
		
		
		
		
		
		
	
		
			
			
			
			
				 
			
			
			
			
			
			
				
			
			
			
		 
		
	
	
	 | 
 
 
 
    | 
   | 
    | 
  
 
	 
	
		 
	 
 
	
	
		
	
	
 
    | 
   | 
    | 
  
 
	
		
		
		
			
			 
			
				01-15-2018, 04:58 AM
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Discordant 
				
				
				
			 | 
			  | 
			
				
				
					Join Date: May 2016 
					Location: Under a rock 
					
					
						Posts: 290
					 
					
					
					
					     
				 
				
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
			
			
			 
			
		
		
		
		Here, just to simplify what I am talking about. I put new binaries in the folder. There is an eqemu_config.xml file in there. 
I went into folder with a cmd window and run world and see what happens. Even though it "implies" that it is converting 
the xml over to json, it doesn't do it. This is all that happens :
 
	Code: 
	D:\eqemutest>world
Pulling down EQEmu Server Maintenance Script (eqemu_server.pl)...
[Download] Saved: (xmltojson.exe) from https://raw.githubusercontent.com/EQEmu/S
erver/master/utils/xmltojson/xmltojson-windows-x86.exe
Converting eqemu_config.xml to eqemu_config.json
Server element not found
cannot open file  at eqemu_server.pl line 326.
[World Server] Loading server configuration..
Error from reader: * Line 1, Column 1
  Syntax error: value, object or array expected.
[World Server] Loading server configuration failed. 
 For the moment, I can't figure it out yet. My coffee is getting cold, lol  
		
	
		
		
		
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
 
    | 
   | 
    | 
  
 
	 
	
		 
	 
 
	
	
		
	
	
	
		
		
		
			
			 
			
				01-15-2018, 05:14 AM
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Administrator 
				
				
				
			 | 
			  | 
			
				
				
					Join Date: Feb 2009 
					Location: MN 
					
					
						Posts: 2,072
					 
					
					
					
					     
				 
				
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
			
			
			 
			
		
		
		
		The_Beast - see what Shin posted above  
 
Looks like your XML is malformed or non-standard 
 
If you can paste it to us via pastebin or otherwords with sensitive info redacted we could help point you in a direction 
		
	
		
		
		
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
	
		 
	 
 
	
	
		
	
	
	
		
		
		
			
			 
			
				01-15-2018, 05:25 AM
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Discordant 
				
				
				
			 | 
			  | 
			
				
				
					Join Date: May 2016 
					Location: Under a rock 
					
					
						Posts: 290
					 
					
					
					
					     
				 
				
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
			
			
			 
			
		
		
		
		Hahaha, this funny. First of all Shin, sorry, when you said check top line, I thought you meant the json config. But just found out 
if your xml config has "special characters" in the server name, the conversion won't work. I removed them and problem solved. 
		
	
		
		
		
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
	
		 
	 
 
	
	
		
	
	
	
		
		
		
			
			 
			
				01-15-2018, 05:25 AM
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Administrator 
				
				
				
			 | 
			  | 
			
				
				
					Join Date: Feb 2009 
					Location: MN 
					
					
						Posts: 2,072
					 
					
					
					
					     
				 
				
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
			
			
			 
			
		
		
		
		
	Quote: 
	
	
		
			
				
					Originally Posted by  The_Beast
					 
				 
				Hahaha, this funny. First of all Shin, sorry, when you said check top line, I thought you meant the json config. But just found out 
if your xml config has "special characters" in the server name, the conversion won't work. I removed them and problem solved. 
			
		 | 
	 
	 
 Glad you got it sorted!  
		
	
		
		
		
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
	
		 
	 
 
	
	
		
	
	
	
		
		
		
			
			 
			
				01-20-2018, 01:31 PM
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Hill Giant 
				
				
				
			 | 
			  | 
			
				
				
					Join Date: Oct 2009 
					Location: U.S.A. 
					
					
						Posts: 197
					 
					
					
					
					     
				 
				
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
			
			
			 
			
		
		
		
		Interesting, but why not just use Lua for config since the server is already being linked against it? 
		
	
		
		
		
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
	
		 
	 
 
 
	
		
	
	
	
	
	| Thread Tools | 
	
 
	| 
	
	
	
	 | 
	
 
	| Display Modes | 
	
 
	
	
	
	
		
		  Hybrid Mode 
		
	 
	
	 | 
	
	
 
 
	
		
	
		 
		Posting Rules
	 | 
 
	
		
		You may not post new threads 
		You may not post replies 
		You may not post attachments 
		You may not edit your posts 
		 
		
		
		
		
		HTML code is On 
		 
		
	  | 
 
 
	 | 
	
		
	 | 
 
 
All times are GMT -4. The time now is 06:21 AM. 
 
		 
	 
 
 
     | 
     | 
    
   
      | 
     | 
      | 
    
   
     | 
      | 
     | 
    
   
       | 
      | 
       | 
     
    
    
  | 
   |