Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated in /srv/disk10/1751226/www/uomoons.com/includes/core_functions_include.php on line 311

Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated in /srv/disk10/1751226/www/uomoons.com/includes/core_functions_include.php on line 311

Warning: ini_set(): Session ini settings cannot be changed after headers have already been sent in /srv/disk10/1751226/www/uomoons.com/maincore.php on line 69

Warning: ini_set(): Session ini settings cannot be changed after headers have already been sent in /srv/disk10/1751226/www/uomoons.com/maincore.php on line 70

Warning: ini_set(): Session ini settings cannot be changed after headers have already been sent in /srv/disk10/1751226/www/uomoons.com/maincore.php on line 72

Warning: ini_set(): Session ini settings cannot be changed after headers have already been sent in /srv/disk10/1751226/www/uomoons.com/maincore.php on line 74

Warning: session_cache_limiter(): Session cache limiter cannot be changed after headers have already been sent in /srv/disk10/1751226/www/uomoons.com/maincore.php on line 76

Warning: session_name(): Session name cannot be changed after headers have already been sent in /srv/disk10/1751226/www/uomoons.com/maincore.php on line 77

Warning: Cannot modify header information - headers already sent by (output started at /srv/disk10/1751226/www/uomoons.com/includes/core_functions_include.php:311) in /srv/disk10/1751226/www/uomoons.com/maincore.php on line 104

Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated in /srv/disk10/1751226/www/uomoons.com/includes/core_functions_include.php on line 311

Deprecated: html_entity_decode(): Passing null to parameter #1 ($string) of type string is deprecated in /srv/disk10/1751226/www/uomoons.com/includes/core_functions_include.php on line 1067

Deprecated: html_entity_decode(): Passing null to parameter #1 ($string) of type string is deprecated in /srv/disk10/1751226/www/uomoons.com/includes/core_functions_include.php on line 1067

Deprecated: html_entity_decode(): Passing null to parameter #1 ($string) of type string is deprecated in /srv/disk10/1751226/www/uomoons.com/includes/core_functions_include.php on line 1067

Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated in /srv/disk10/1751226/www/uomoons.com/includes/core_functions_include.php on line 311

Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated in /srv/disk10/1751226/www/uomoons.com/includes/core_functions_include.php on line 311
FAQ: CentrED+ - UO Moons
Vote for UO Moons
FAQs

CentrED+

The server doesn't require any special installation, all that it is necessary to launch it an executable file "@cedserver.exe" from a directory. / server / (since version 0.7.6 the server enters into an installation packet if it at you not is set you always can to set it. In difference from the client the server upon doesn't need installation and if necessary you can copy it in other folder or on other machine). Then the server will suggest to make necessary settings and to create the accounting entry of the manager therefore the configuration file "by @cedserver.xml" will be created. In case of restart all settings will boot automatically from the configuration file "@cedserver.xml", located in the same folder as the server, on it if you want to repeat this step, simply delete or rename the configuration file, you also can create it manually by means of any text editor.

For operation of the server 5 files are necessary: tiledata.mul, radarcol.mul, map#.mul, staidx#.mul, statics#.mul. The last three files define with which map the server will work, for a map it is also necessary to specify its sizes (Width x Height) in tiles. Sizes of standard map are written in another FAQ. Also you is required need flags defining the *.mul version of files. The simplest method it to place these files in one folder with the server and it is simple to specify their names, but you also can place them anywhere, in this case it is necessary for you to specify full or relative paths (e.g. "С:\\Program Files (x86)\Ultima Online\tiledata.mul")

Its important: the server requires exclusive access to files, it means that you can't use one and harder files for simultaneous operation of the CentrEd server + and UOClient/Sphere/UOX/UOFiddler, Ect.
The server realizes version monitoring a mule of files of the client and the server, thus it is automatically determined the version of used *.mul of files (Pre SA, SA, HS +). In avoidance of errors and problems the server the mule doesn't allow to use to clients files of other version than on the server.
The last clients use a patch files of maps and a statics. These patches are files: @mapdif#.mul, @mapdifl#.mul, @stadif#.mul, @stadifl#.mul, @stadifi#.mul. CentrEd + isn't able to work about a patch with files and if your server uses patches (even if these files are present, they can not be used by the server), it is required to you by means of third-party programs (such as Fiddler) to copy data from patches in *.mul files, then already to use repatching *.mul files (don't forget after that to disconnect use of patches on the UO server).
For server up-dating, it is in most cases rather simple to replace an executable file "with @cedserver.exe" with newer version. However in some cases file editing (ов) can be demanded a configuration in case of change of their format. The message testifies to it about not compliance of the version of the file of a configuration that the first line sets the Version attribute of a root tag. In this case to you costs will address to Wicca for detection of differences and to remove them.
The server is closed in two cases if you finish its operation or in case of origin of errors, that the server is closed at once after start speaks about errors. For this purpose to look at a log and the description of errors it is necessary to look at a console log, it can be done for example having launched the server from the console (@cmd.exe) as follows _ (having naturally replaced a way with the) _:

START/B "C:\centred-plus\cedserver.exe"
Known most frequent errors:
EFOpenError: Unable to open file "..." - specified *.mul the file aren't found, the possible reasons: set wrong file paths in the configuration file, the not exists, specified path contains invalid characters or is written in an unreadable look, the file is already used with other program (see above note about exclusive access to files).
Incorrect data. Check the sizes of a maps and files. - wrong map dimensions in the configuration file are specified (it is necessary to understand that check sizes of a map actually not possibly, this error signals to impossibility to continue operation as the specified sizes don't match number of tiles\blocks in files, otherwise, if the sizes of a map 1 x 4, having specified the sizes 2 x 2 of this error won't be, however the map will be incorrectly displayed.)
Error: 0.0.0.0: Error on on bind [10048] - the network Error, the specified port can't be open, as any application or process already uses it.
TInvalidConfigException : Version mismatch: 4 <> 5 - Old config file is used. (version 4 instead of ver. 5). Compare example below with your config file to find difference and fix them. Or create new one config file.
By collective operation over a facet as a rule it is required to organize access to *.mul to files to group of people. It becomes individually or by means of third-party software, such as means of remote administration, schedulers, web scripts, jabber\icq bots and other. As an example of the simplest implementation we will give a method based on standard possibilities of wasps of Windows, for this purpose we will create bat the file for server start in one folder with the server of the following contents, in this example the server in case of need automatically copies all *.mul files from the root directory in the subdirectory "backup" after completion of operation of the server, and on operation completion automatically launches the server again with the configuration file "@map0.xml", switching off of the server goes with the help, available to the managers, the appropriate menu item in the client, and the data access is carried out by a subdirectory @backup rassharivaniye on FTP or a local area network.

1. @ECHO OFF
2. START "" /I /B /WAIT "%~dp0cedserver.exe" "map0.xml"
3. ECHO Copying *.mul files...
4. XCOPY "%~dp0*.mul" "%~dp0backup" /I /R /K /Y /D
5. START "" /B "%~0"

This method doesn't claim for a completeness, and is only the elementary example for demonstration of methods server management by third-party software (in the majority a case everything is reduced to the same *.bat to files). Not much more difficult, in case of knowledge of the appropriate languages to implement server management through scripts of UOX\Sphere\Php\Perl or any other, having elementary possibilities of operation with OS.
As the server can work at the same time only with one facet, operation with several facets is carried out by server start with different configurations. Naturally for simultaneous operation ports shall be different in each configuration. For this purpose we create some configurations (for example "@map0.xml", "@map1.xml", "@map2.xml") and we launch the server, having transferred as parameter the profile name ("@cedserver.exe "map0.xml""). For automation of start it is possible to make *.bat the file:

1. START cedserver.exe "map0.xml"
2. START cedserver.exe "map1.xml"
3. START cedserver.exe "map2.xml"
Example of the configuration file:

<?xml version="1.0"?>
<CEDConfig Version="6">
 <Language>..\Language\English.ini</Language>
 <Port>2597</Port>
 <Map>
 <Map>map0.mul</Map>
 <StaIdx>staidx0.mul</StaIdx>
 <Statics>statics0.mul</Statics>
 <Width>896</Width>
 <Height>512</Height>
 <Prefix>0</Prefix>
 <Format>0x0000</Format>
 </Map>
 <Tiledata>tiledata.mul</Tiledata>
 <Radarcol>radarcol.mul</Radarcol>
 <Accounts>
 <Account>
 <Name>admin</Name>
 <PasswordHash>d41d8cd98f00b204e9800998ecf8427e</PasswordHash>
 <AccessLevel>255</AccessLevel>
 <LastPos x="0" y="0"/>
 <Regions/>
 </Account>
 </Accounts>
 <Regions/>
</CEDConfig>


In this example the account "admin" without the password so in case of problems with server setup, it is possible to create the configuration file manually. Editing of data on accounts and regions is carried out directly by the manager through the client. The element Format is a set of the flags which are setting *.mul versions of files of used on the server and the client, the following flags are generally used:

Layout and priorities
Files of a configuration can is in one of the following places:
.\AppData\Local\CentrED-plus\Profiles\{Profile_Name}\
.\{CentrED_folder}
.\AppData\Local\CentrED-plus\
In case at installation storage of the user data in the folder with the appendix was chosen, the following paths will be used then:
.\{CentrED_folder}\LocalData\UserData\Profiles\{Profile_Name}\
.\{CentrED_folder}\LocalData\
.\{CentrED_folder}\LocalData\UserData\
Thus an order of search such as it is specified above. That is if the required file is by the way of No. 2, the client will ignore the file lying in a directory No. 3

File list
[eng]ColorLight
[eng]Tilesbrush
[eng]Tilesentry
[eng]Tilesgroup
[eng]Virtualtiles
*.mul files
The following files of the client are necessary for start of the client: @art.mul, @artidx.mul, @hues.mul, @tiledata.mul, @animdata.mul, @texmaps.mul, @texidx.mul, @light.mul and @lightidx.mul.
This file contains the description of lighting colors for static tiles.
Layout: by default settles down in the folder of the client, but in case of desire it can be manually moved to the profile folder.

<?xml version="1.0" ?>
<ColorLight>
 <Colors/>
 <Sources/>
<ColorLight/>


Apparently the File consists them 2 "sections":

1. Colors - list of 15 colors (for tiles for which color isn't set, color with an index 1 is used as default value).

2. LightSource - contains list of lighting sources tiles and id of lighting color for each of them.

Admissible elements
For elements from


 <Color id="1" r="0xFF" g="0xFF" b="0xFF" name="Default"/>
 <Color id="4" r="0xFF" g="0x80" b="0x00" name="Bright Orange"/>


These tags describe colors, with an index the defined id attribute and color in the RGB format set by the attributes "r", "g", "b" (with values from 0 to 0xFF (255)).

For elements from
 <Item ID="0x219C" color="1"/>
 <Tile ID="0x619C" color="15"/>


These tags describe any concrete tile with specified ID in the attribute of the same name (both in a hexadecimal look and in decimal). The Item tag describes a statics, and the Tile tag describes too but uses as ID - the general, i.e. TileID = ItemID + 0x4000. The attribute of color sets a color index, from the description in the section Colors. If suddenly color with this index isn't found, by default as color white color (0xFF, 0xFF, 0xFF) is used.

Example of file content

<?xml version="1.0" ?>
<ColorLight>
 <Colors> <!-- NOTE: ALLOWED >
 <Color id="1" r="0xFF" g="0xFF" b="0xFF" name="Default"/>
 <Color id="2" r="0xFF" g="0xFF" b="0xFF" name="Bright White"/>
 <Color id="3" r="0xE0" g="0xE0" b="0xE0" name="White"/>
 <Color id="4" r="0xFF" g="0x80" b="0x00" name="Bright Orange"/>
 <Color id="5" r="0xB6" g="0x5C" b="0x00" name="Thin Orange"/>
 <Color id="6" r="0xFF" g="0xFF" b="0x00" name="Bright Yellow"/>
 <Color id="7" r="0x80" g="0x80" b="0x00" name="Thin Yellow"/>
 <Color id="8" r="0xB6" g="0xB6" b="0x00" name="Yellow"/>
 <Color id="9" r="0x80" g="0x80" b="0xFF" name="Bright Lilac"/>
 <Color id="10" r="0x00" g="0x00" b="0xFF" name="Bright Blue"/>
 <Color id="11" r="0x00" g="0x00" b="0x80" name="Thin Blue"/>
 <Color id="12" r="0x00" g="0xFF" b="0x00" name="Bright Green"/>
 <Color id="13" r="0x00" g="0x80" b="0x00" name="Thin Green"/>
 <Color id="14" r="0xFF" g="0x00" b="0x00" name="Bright Red"/>
 <Color id="15" r="0xFF" g="0x00" b="0xFF" name="Bright Pink"/>
 </Colors> 

 <Sources>
 <!-- Original virtual sources -->
 <Item ID="0x1646" color="2"/>
 <Item ID="0x1647" color="2"/>

 <!-- Other tiles ... -->
 </Sources>
</ColorLight> 
This file contains lists of the paintbrushes objects representing connected among themselves tiles of a relief.
Layout: by default settles down in the folder of the client, but in case of desire it can be manually moved to the profile folder.

General structure of the file
<?xml version="1.0" ?>
<TilesBrush>
 <Brush Id="" Name="" />
 <Brush Id="" Name="" />
 <Brush Id="" Name="" />
</TilesBrush>

Apparently the File consists from 1st root "section" in which there is an object list of paintbrushes of "Brush", with unique (in this file) an indifikatory Id from 1 to 9999 and the optional Name attribute which is setting a name description of object that will be is deduced in the tile list.

Admissible elements of a tag of Brush
 <Land ID="0x219C" Chance="0,4" />
 <Tile ID="0x219C" Chance="1,5" />
 <Edge To="0202" />

These tags describe any specific tile with the specified ID in the attribute with the same name (both in a hexadecimal look and in decimal). The Land tag describes land tiles and their textures, the Tile tag can describe both that and another at the same time, thanks to the general ID. Generally for tiles TileID relief = LandID. These elements are located in the tags described in the previous point, for the description of continuous textures of a surface. The Chance attribute sets the modifier of probability of placement tile, and is by default equal 1.0. The increase in value will affect that that tile will come across more often among similar, and its reduction will lead to a reverse situation. For the description of textures of transitions the Edge tag is used, its single mandatory To attribute contains a mandatory indifikator of a secondary paintbrush.

Admissible elements of a tag of Edge
 <land type="UU" id="0x1318" chance="1,0"></land>
 <tile type="UU" id="0x1318"></tile>


p <>. These tags describe any specific tile with the specified ID in the attribute with the same name (both in a hexadecimal look and in decimal). The Land tag describes land tiles and their textures, the Tile tag can describe both that and another at the same time, thanks to the general ID. Generally for tile TileID relief = LandID. These elements are located in the tags described in the previous point, for the description of continuous textures of a surface. The Chance attribute sets the modifier of probability of tile placement, and is by default equal 1.0. The increase in value will affect that that tile will come across more often among similar, and its reduction will lead to a reverse situation. The mandatory Type attribute can accept one of the following values: "LL", "UU", "DL", "UR", "DR", "UL" - these values set a mask of a texture of transition.

Structure of storage of a paintbrush
Each paintbrush is characterized by a set continuous tiles, that is tiles without transitions, tiles water, sand, the earth, a grass and so on can be such. and a set tiles that some transitions set, such tiles are located in the nested Edge tag having attribute with an initiator of a secondary paintbrush. Tayla of transition characterize a transition state between primary paintbrush and secondary: for example transition of a grass to the earth or herbs to sand. To understand what paintbrush is primary and what secondary it is necessary to pay attention to the Type attribute, it describes a mask of a texture or its turn. Better to understand as it turns out we will take tile and we will turn it on 45 degrees to the left, as a result we will receive a texture (it is possible to take directly a texture tile if it is available). Now it is conditionally separable turned tile on 4 parts and we will enumerate them as is shown in a figure on the right. In each quarter will be there is a piece of primary or secondary texture. In this case on an example in 1 quarter an earth texture, and in remaining sand. That it was more clear we will give a table of correspondences for a case when primary paintbrush at us the rock, and secondary sand.

Each paintbrush is characterized by a set continuous tiles, that is tiles without transitions, tiles water, sand, the earth, a grass and so on can be such. and a set tiles that some transitions set, such tiles are located in the nested Edge tag having attribute with an indifikator of a secondary paintbrush. Tayla of transition characterize a transition state between primary paintbrush and secondary: for example transition of a grass to the earth or herbs to sand. To understand what paintbrush is primary and what secondary it is necessary to pay attention to the Type attribute, it describes a mask of a texture or its turn. Better to understand as it it turns out we will take tile and we will turn it on 45 degrees to the left, as a result we will receive a texture (it is possible to take directly a texture tile if it is available). Now it is conditionally separable turned tile on 4 parts and we will enumerate them as is shown in a figure on the right. In each quarter will be there is a piece of primary or secondary texture. In this case on an example in 1 quarter an earth texture, and in remaining sand. That it was more clear we will give a table of correspondences for a case when primary paintbrush at us the rock, and secondary sand.

Example of file content
<?xml version="1.0" ?>
<TilesBrush>
 <Brush Id="0002" Name="Dirty">
 <Land ID="0x0071" Chance="0,20" />
 <Land ID="0x0072" Chance="0,20" />
 <Land ID="0x0073" Chance="0,20" />
 <Land ID="0x0074" Chance="0,20" /> 
 <Land ID="0x0075" />
 <Land ID="0x0076" />
 <Land ID="0x0077" />
 <Land ID="0x0078" /> 
 <Edge To="0202" > <!-- Waste -->
 <Land Type="LL" ID="0x1317" /> 
 <Land Type="UU" ID="0x1318" /> 
 <Land Type="DL" ID="0x1319" />
 <Land Type="UR" ID="0x131A" /> 
 <Land Type="DR" ID="0x131B" /> 
 <Land Type="UL" ID="0x131C" />
 </Edge>
 <Edge To="0203" > <!-- Grass --> 
 <Land Type="UL" ID="0x0079" />
 <Land Type="DR" ID="0x007A" />
 <Land Type="UR" ID="0x007B" /> 
 <Land Type="DL" ID="0x007C" />
 <Land Type="UU" ID="0x0085" /> 
 <Land Type="UU" ID="0x0086" />
 <Land Type="LL" ID="0x0087" />
 <Land Type="LL" ID="0x0088" />
 </Edge>
 </Brush>
 <Brush Id="0202" Name="Waste">
 <Land ID="0x127B" />
 <Land ID="0x127C" />
 <Land ID="0x127D" />
 <Land ID="0x127E" />
 <Edge To="0002" > <!-- Dirty --> 
 <Land Type="UU" ID="0x1315" /> 
 <Land Type="LL" ID="0x1316" /> 
 <Land Type="DR" ID="0x131D" />
 <Land Type="UL" ID="0x131E" /> 
 <Land Type="DL" ID="0x131F" /> 
 <Land Type="UR" ID="0x1320" />
 </Edge>
 <Edge To="0203" > <!-- Grass --> 
 <Land Type="LL" ID="0x129C" /> 
 <Land Type="UU" ID="0x129E" /> 
 <Land Type="DL" ID="0x129F" /> 
 <Land Type="UR" ID="0x12A0" /> 
 <Land Type="UL" ID="0x12A1" /> 
 <Land Type="DR" ID="0x12A2" />
 </Edge>
 </Brush>
 <Brush Id="0203" Name="Grass">
 <Land ID="0x0003" />
 <Land ID="0x0004" />
 <Land ID="0x0005" />
 <Land ID="0x0006" /> 
 <Edge To="0202" > <!-- Waste -->
 <Land Type="UL" ID="0x1297" /> 
 <Land Type="UR" ID="0x1298" /> 
 <Land Type="DR" ID="0x1299" />
 <Land Type="DL" ID="0x129A" /> 
 <Land Type="LL" ID="0x129B" /> 
 <Land Type="UU" ID="0x129D" />
 </Edge>
 <Edge To="0002" > <!-- Dirty --> 
 <Land Type="UL" ID="0x007D" />
 <Land Type="DR" ID="0x007E" />
 <Land Type="UR" ID="0x0082" />
 <Land Type="DL" ID="0x0083" />
 <Land Type="LL" ID="0x0089" />
 <Land Type="LL" ID="0x008A" />
 <Land Type="UU" ID="0x008B" />
 <Land Type="UU" ID="0x008C" />
 </Edge>
 </Brush>
</TilesBrush>
This file contains lists multi - the objects representing connected among themselves tiles statics.
Layout: by default settles down in the folder of the client, but in case of desire it can be manually moved to the profile folder.

General structure of the file

<?xml version="1.0" ?>
<TilesEntry>
 <Entry Id="" Name="" />
 <Entry Id="" Name="" />
 <Entry Id="" Name="" />
</TilesEntry>


Apparently the File consists them 1й root "section" in which there is a list of multi objects of "Entry", with unique (in this file) an indifikatory Id from 1 to 9999 and the optional Name attribute which is setting a name description of object that will be is deduced in the tile list.

Admissible elements
 <Item ID="0x219C" x="0" y="0" z="0" />
 <Tile ID="0x619C" x="0" y="0" z="0" />

These tags describe any specific tile with the specified ID in the attribute with the same name (both in a hexadecimal look and in decimal). The Land tag describes land tiles and their textures, the Item tag describes a statics, and the Tile tag can describe both that and another at the same time, thanks to the general ID. Generally for tiles TileID relief = LandID, and for the subjects TileID = LandID + 0x4000. These elements are located in the tags described in the previous point, for the tiles description. Attributes "X", "Y", "Z" set offsets on coordinates concerning the cursor which has the relative coordinates: @X=0, Y=0, Z=0. Also use not the mandatory Hue attribute for color determination tile is allowed.

Example of file content

<?xml version="1.0" ?>
<TilesEntry>
 <Entry Id="0002" Name="Quadro ankh">
 <Item x="0" y="0" z="0" ID="0x0005" />
 <Item x="-1" y="0" z="0" ID="0x0004" />
 <Item x="-1" y="0" z="0" ID="0x0003" />
 <Item x="-1" y="1" z="0" ID="0x0002" />
 </Entry>
 <Entry Id="0201" Name="A tree - an oak forest">
 <Tile x="0" y="0" z="0" ID="0x44B2" />
 <Item x="1" y="0" z="2" ID="0x04B5" />
 <Item x="0" y="1" z="5" ID="0xE473" />
 </Entry>
 <Entry Id="0001" Name="A tree - a pine forest">
 <Item x="1" y="1" z="0" ID="0x3E69" Hue="0x021"/>
 <Tile x="1" y="2" z="-4" ID="0x441F" Hue="0x000" />
 <Item x="3" y="1" z="17" ID="0x0214" Hue="0x121" />
 </Entry>
</TilesEntry>
This file contains tile lists and objects broken into groups and subgroups.
Layout: by default settles down in the folder of the client, but in case of desire it can be manually moved to the profile folder.

General structure of the file
<?xml version="1.0" ?>
<TilesGroup>
 <Group />
 <Group>
 <Group />
 <Group>
 <Group />
 <Group />
 </Group> 
 </Group>
 <Group />
</TilesGroup>

Apparently the File consists of a set of the "sections" enclosed each other. These sections will be formed by the Group tags, the containing following not mandatory attributes:
Name - the group Name that will be displayed in the list of groups if the name isn't specified group to be displayed as "NoName".
Nodes - level of included attachments, defines depth of attachments of subgroups, tiles from which will be included in this group. By default value is equal 0 that speaks about that that tiles from subgroups won't join, any number is higher 0 sets depth of the maximum attachment of subgroups for switching on tile if value is equal "-1", in group will be included tiles from all subgroups of all subgroups.
Id - Not the mandatory attribute setting a unique indifikator of group, indifikator of different groups shan't match. Indifikatora of groups serve only for links to groups.
color - the Attribute of formatting of the text, sets color in the R8G8B8 format of the name of group in the list of groups, is by default equal to value @0х000000
bold - the Attribute of formatting of the text, can accept True or False values, defines thickness of the name of group in the list of groups. "True" is by default equal if the group contains more 4х subgroups and "False" otherwise.
ital - the Attribute of formatting of the text, can accept True or False values, defines use of italic type in the group name in the list of groups. "True" is by default equal if the group doesn't contain subgroups and "False" otherwise.
Admissible elements
 <Land ID="0x01B5"/>
 <Item ID="0x219C"/>
 <Tile ID="0x619C"/>
 
 
 <Entry ID="0013"/>
 <Brush ID="0002"/>

These tags describe any specific tile with the specified ID in the attribute with the same name (both in a hexadecimal look and in decimal). The Land tag describes land tiles and their textures, the Item tag describes a statics, and the Tile tag can describe both that and another at the same time, thanks to the general ID. Generally for tiles TileID relief = LandID, and for the subjects TileID = LandID + 0x4000. These elements are located in the tags described in the previous point, for the tiles description. The tag of Entry describes multi - the objects which have been set in TilesEntry.xml, similar to a tag of Brush describes the objects paintbrushes which have been set in TilesBrush.xml. And the tag of Link is reference type of data on group with an indifikator of GroupId or on a paintbrush with BrushId indifikator. Links display group contents without nested subgroups (Be limit are careful - cross-references to groups can hang up the editor) or tile paintbrushes, sorting them in a certain order.

Example of file content
<?xml version="1.0" ?>
<TilesGroup>
 <Group Name="Textures">
 <Land ID="0x0002" />
 <Land ID="0x346E" />
 <Land ID="0x3472" />
 <Land ID="0x3474" />
 <Land ID="0x3471" />
 <Tile GroupID="0x0001" />
 <Tile GroupID="0x392F" />
 
 </Group>

 <Group Name="Items">
 <Group Name="Decoration">
 <Group Name="Ankhs" Id="114">
 <Group Name="North">
 <Item ID="0x0004" />
 <Tile ID="0x4005" />
 </Group>
 <Group Name="West" Id="114">
 <Tile ID="0x4002" />
 <Item ID="0x0003" />
 </Group>
 </Group>
 <Group Name="Walls" Nodes="1" Id="114">
 <Group Name="Wooden">
 <Item ID="0x0006" />
 <Item ID="0x0007" />
 <Item ID="0x0008" />
 <Item ID="0x0009" />
 <Item ID="0x000A" />
 <Item ID="0x000B" />
 <Item ID="0x000C" />
 <Item ID="0x000D" />
 <Group Name="Windows">
 <Item ID="0x000E" />
 <Item ID="0x000F" />
 </Group>
 <Item ID="0x0010" />
 <Item ID="0x0011" />
 <Item ID="0x0012" />
 <Item ID="0x0013" />
 <Item ID="0x0014" />
 <Item ID="0x0015" />
 <Item ID="0x0016" />
 <Item ID="0x0017" />
 <Item ID="0x0018" />
 <Item ID="0x0019" />
 </Group>
 </Group>
 <Group Name="Roofs">
 <Group Name="Ceramic">
 <Item ID="0x23D3" />
 <Item ID="0x23D5" />
 <Item ID="0x23EB" />
 </Group>
 <Group Name="Ceramic">
 <Item ID="0x23D5" />
 <Item ID="0x23D3" />
 <Item ID="0x23EB" />
 </Group>
 <Group Name="Ceramic">
 <Item ID="0x23EB" />
 <Item ID="0x23D5" />
 <Item ID="0x23D3" />
 </Group>
 </Group>
 </Group>
 </Group>

 <Group Name="Objects" color="0xFF8800" bold="True" ital="True">
 <Entry ID="0201" />
 <Entry ID="0002" />
 <Entry ID="0001" />
 </Group>

 <Group Name="Brushes" color="0xFF0088" bold="True" ital="True">
 <Brush ID="0202" />
 <Brush ID="0002" />
 <Brush ID="0203" />
 </Group>

 <Group Name="Banana!">
 <Group Name="node - level 1" Nodes="-1" Id="114">
 <Group Name="node - level 2" Nodes="5">
 <Group Name="node - level 3" Nodes="5">
 <Group Name="node - level 4" Nodes="1">
 <Group Name="node - level 5">
 <Group Name="node - level 6">
 <Group Name="node - level 7">
 <Group Name="node - level 8">
 <Land ID="0x0001" />
 </Group>
 </Group>
 </Group>
 </Group>
 </Group>
 </Group>
 </Group>
 </Group>
 </Group>

 <Group Name="Empty Group" color="0x888888" bold="True" ital="True">
 </Group>

 <Group Name="Somthing else" color="0x444444">
 </Group>
</TilesGroup>
This file contains lists of the virtual and not used tiles.
Layout: by default settles down in the folder of the client, but in case of desire it can be manually moved to the profile folder.

General structure of the file

<?xml version="1.0" ?>
<VirtualTiles>
 <NoDraw/>
 <LightSource/>
 <Unused Name=""/>
<VirtualTiles/>

Apparently the File consists them 3х "sections":
NoDraw - contains the No Draw tile list.
LightSource - contains the tiles list the virtual light sources.
Unused - contains the list hidden tiles, tiles listed in this tag won't be displayed in the tile list in the editor. The Name attribute contains the group name, for navigation facilitation according to the file. For convenience the Unused tag is authorized for duplicating not Singley.
Admissible elements
 <Land ID="0x01B5"/>
 <Item ID="0x219C"/>
 <Tile ID="0x619C"/>

These tags describe any specific tile with the specified ID in the attribute with the same name (both in a hexadecimal look and in decimal). The Land tag describes land tiles and their textures, the Item tag describes a statics, and the Tile tag can describe both that and another at the same time, thanks to the general ID. Generally for tiles TileID relief = LandID, and for the subjects TileID = LandID + 0x4000. These elements are located in the tags described in the previous point, for the tiles description.


For tags in "LightSource" section also available attribute "icon" - icon id for tile (from 1 to 15). Icons and their ids are given in the image on the right:

Example of file content

<?xml version="1.0" ?>
<VirtualTiles>
 <NoDraw>
 <Land ID="2"/>
 <Land ID="0x01AF"/>
 <Tile ID="432"/>
 <Tile ID="0x01B1"/>
 <Item ID="000001"/>
 <Item ID="0x2198"/>
 <Tile ID="024985"/>
 <Tile ID="0x619A"/> 
 </NoDraw>
 <LightSource>
 <Item ID="0x1646" icon="1"/>
 <Item ID="0x1647" icon="15"/>
 </LightSource>
 <Unused Name="Catapult">
 <Item ID="0x1648"/>
 <Item ID="0x1649"/>
 <Item ID="0x164A"/>
 </Unused>
 <Unused Name="Coastline">
 <Land ID="0x004C"/>
 <Land ID="0x004D"/>
 </Unused>
 <Unused Name="Chess figures">
 <Tile ID="0x7584"/>
 <Tile ID="0x7585"/>
 <Tile ID="0x7586"/>
 </Unused>
</VirtualTiles>
This article doesn't claim for a completeness and literacy of presentation, and supplies only the most general and basic information on the HTML format device, for those who not absolutely understands that this such. XML (English eXtensible Markup Language — an extensible markup language) — the text format intended for storage of structured data. The XML files (as a rule files about *.xml extension) shall satisfy to two criteria for incorrect operation with them different software:

All data shall be correctly described, it implies absence of violations in syntax of a marking of the file. There is a set of a different software and a web of the services which are realizing check of XML of syntax as there is a set of recommendations about XML/design
the file and name Structure and also type of values of attributes shall correspond to the software specification working with these files.
As to the first point then use of XML editors with syntax check (for example" XML Editor": http://www.oxygenxml.com/), and as reading at least this article. As to the second point, all that this observance of the appropriate specifications on a site is required.

Syntax of XML
XML — is the hierarchical structure described in a text format intended for storage of any data. Visually the structure can be provided as a tree of elements. The elements XML are described by tags. Let's consider an example of the simple culinary recipe labeled by means of XML:

<!--? xml version = "1.0" encoding = "UTF-8"?-->
<recipe name="preptime" "bread"="5" cooktime="180">
  Simple bread 
 <ingredient amount="3" unit="glass"> Flour </ingredient>
 <ingredient amount="0.25" unit="gram"> Yeast </ingredient>
 <ingredient amount="1.5" unit="glass"> Warm water </ingredient>
 <ingredient amount="1" unit="teaspoon"> Salt </ingredient>
 <instructions>
 <step> to Mix all ingredients and carefully to knead. </step>
 <step> to Close a fabric and to leave at one o'clock in warm location. </step>
 <!-- - <step--> to Read the yesterday's newspaper. is a doubtful step...-
 <step> to Knead once again, to suppose on a baking sheet and to deliver in an oven. </step>
 </instructions>
</recipe>

XML declaration
The first line of the XML document is called XML declaration (English XML declaration) — it is a line specifying the XML version. In version 1.0 declaration of XML can be lowered, in version 1.1 it is mandatory. Also here the character encoding and existence of external dependences can be specified.

<!--? xml version = "1.0" encoding = "UTF-8"?-->

The specification requires, that XML processors surely supported UTF-8 and UTF-16 Unicode coding (UTF-32 isn't mandatory). Admit admissible, are supported and are widely used (but aren't mandatory) other codings based on the ISO/IEC 8859 standard, are also admissible other codings, for example, Russian Windows-1251, KOI-8. Often in tags essentially use - Latin letters, in this case UTF-8 is very convenient coding — volume, as a rule, less, than in case of UTF-16; decoding can be executed both for all document, and for specific attributes and texts; all document doesn't contain the illegal characters in analysis attempt with the wrong coding.

Root element
The major mandatory syntax requirement is that the document has only one root element (English root element) (also sometimes a called element of the document (English document element)). It means that the text or other data of all document shall be located between the single beginning root tag and a finite tag corresponding to it.
The following elementary example — correctly constructed XML document:

<!--? xml version = "1.0"?-->
<book> Is the book: "Book" </book>

The following example isn't an incorrect XML document because has two root elements:

<!--? xml version = "1.0"?-->
<!-- - ATTENTION! Incorrect XML!--->
<thing> Entity No. 1 </thing>
<thing> Entity No. 2 </thing>

Comment
In any place of a tree the element comment can be placed. XML comments take place in the special tag beginning with characters . Two signs a hyphen (-) in the comment can't be present.

<!-- - It is the comment.--->

Tags in the comment shan't be processed.

Tags and elements
The remaining part of this XML document consists of nested elements, some of which have attributes and contents. The element normally consists of the opening and closing tags framing the text and other elements. The opening tag consists of member name in angle brackets, for example, , and the closing tag consists from this a name in angle brackets, but before a name the virgule, for example, is still added. Names of elements, as well as names of attributes, can't contain gaps, but can be in any language supported by the coding of the XML document. The name can begin with a letter, underlining, a colon. The same characters, and also digits, a hyphen, a point can be remaining characters of a name.
Everything is called as element contents (English content) that is located between opening and closing tags, including the text and other (nested) elements. It is given an example a XML element which contains opening tag, closing tag and element contents below:

<step> element Contents </step>

It is necessary to mark that as a rule as contents of an element appears one or several other elements, for example:

<grpoup>
 <node> Chapter 1 </node>
 <node> Chapter 2 </node>
 <grpoup>
 <node> Chapter 3 Part 1я </node>
 <node> Chapter 3 Part 2я </node>
 </grpoup>
</grpoup>


Often elements have no contents, in this case the closing tag can be combined with opening, in that case the virgule is put at the end of a tag, for example, . Empty elements are often applied in this case semantic loading bears not contents of an element and its attributes (about it below). As one more example, we will give the equivalent records of 3 empty elements:

<node>
</node>

<node></node>

<node />

Attributes of an element
Except the contents the element can have attributes — pairs name value added in opening tag after the name of an element. Values of attributes are always quoted (unary or double), the same name of attribute can't meet twice in one element. It is not recommended to use different types of quotes for values of attributes of one tag.

 <ingredient amount="3" unit="glass"> Flour </ingredient>


In the given example the element "ingredient" has two attributes: «amount» important «3», and «unit», important "glass". From the point of view of the XML marking, the given attributes don't bear any sense, and are simply character set.
Except the text, the element can contain other elements:

<food name="Bread">
 <ingredient amount="3" unit="glass"> Flour </ingredient>
 <ingredient amount="1" unit="glass"> Water </ingredient>
 <ingredient amount="0.5" unit="teaspoon"> Salt </ingredient>
</food>

In this case the element of "Food" contains three elements of "ingredient".
XML doesn't allow being superimposed elements. For example, the fragment given below is incorrect, as the elements "em" and "strong" are superimposed.

<!-- - ATTENTION! Incorrect XML!--->
<p> Normal <em> accented <strong> selected and accented </strong></em><strong> selected </strong> </p>

Inference
Further for simplification under the word "Tag" we will imply an element with the specified name, for example Group tag c the @Name attributes, equal "Example" and Id equal 13 is meant an element
0.7.9 (09.10.2017)
Bug #393: Range check error in drawing mode
Bug #394: Blinking scene corners after startup
Bug #428: minimap don't update after switching zoom
Improvement #429: new tool - editing mesh
Improvement #395: Render optimization
Improvement #427: Landscape block cache optimization
Improvement #396: Add new hotkeys for VirtualLayer
Improvement #430: Support uop data for new clients
Improvement #431: Support artLegacyMUL.uop file format
Improvement #432: Support map#LegacyMUL.uop file format
Misc #433: Update logo, splash and installer
0.7.8 (26.08.2014)
Bug #184: Transitions from the random-list
Bug #199: Bug at tile choice in toolbar after starting
Bug #259: Settings reloading
Improvement #185: Slow tile loading
Improvement #188: Drawing pre-view for multi-objects
Improvement #260: Color lighting
Improvement #261: Icons of virtual lighting
0.7.7 (31.07.2013)
Bug #103: Encoding error in WinSoks messages
Bug #179: Client handling at disconnecting
Bug #180: Encoding problems
Feature #73: New user access level: "Developer"
Feature #114: Show map/statics blocks borders
Feature #162: Landscape moving with "move tool"
Feature #166: Varios interface improvment
Feature #178: Changing behaviot of tiles filter window
Feature #181: Errors checks in TilesBrush.xml
Feature #182: Replacing objects tree list with item list
Feature #183: Adding support of server localisations
Misc #167: Installer updating
Misc #169: Restructuring and data updating
0.7.6 (11.08.2012)
Client:
Bug #155: Memory leak when loading groups
Feature #4: The scope of visibility of the axes X, Y.
Bug #68: Changing the GUI (union tabs minimap and customers)
Bug #115: Loading tiles in groups of TilesBrush.xml
Bug #130: Search by ID tiles
Feature #153: Ability to change the language and adding new locations
Updated and improved by the application installer.
0.7.5 (22.02.2012)
Client:
Mistake #83: Displaying child windows
Mistake #92: The size of the filter window and preview color on static
Mistake #93: "Range check error" when changing colors
Mistake #95: "Range check error" when pointing at MultiObject
Mistake #96: "Range check error" when switching to the list of tiles
Mistake #97: Filtering and tiles MultiObject
Mistake #98: "Invalid type cast" while drawing on a virtual layer statics
Mistake #99: Displaying Cyrillic in tooltips
Bug #100: "Range check error" when scrolling map
Bug #104: Incorrect rolled editor
Feature #1: Tool - "smart brush" to paint textures
Feature #2: Zooming the screen
Bug #108: Smooth scroll card
Bug #109: Splash initialization
Bug #111: Placing static only on empty Tile
Bug #112: Checking for drawing
0.7.4 (13.12.2011)
Client:
Mistake #75: Preview of all colors when choosing colors
Mistake #79: Placing objects on the slopes
Mistake #91: OutOfRange Exception mutations both at the height of static
Feature #6: Working with MultiObject
Bug #8: Install the tiles in size at the same height
Bug #71: Filtering stairs
Bug #74: Compact color window
Bug #77: Adding objects with a given chance
Bug #78: Remember last selected color
Feature #80: Improve statusbar
Miscellaneous #69: Missing translation dialog box
0.7.3 (16.06.2011)
Client:
* Ispravley errors when using operations on the area.
* Minimap can now include over windows.
* Mnozhetsvo minor fixes interface.
0.7.2 (14.06.2011)
Client:
* Fixed load *.mul client files from the path that contains Cyrillic.
* Fixed a bug when displaying static tiles with flag Animation ID and more 0xBFFF, when the option "Animation."
+ Ability to quickly screenshots workspace editor (screenshots are saved in the folder "[CentrEd]/ScreenShots/..." in the *.jpg format).
* Added hotkey: Animation (Ctrl+A), make a screenshot (Ctrl+S), Reload Group (Ctrl+R), draw a grid (Ctrl+G), a derivation of height (Ctrl+H), flat view (Ctrl+F), NoDraw Tiles (Ctrl+N)
+ Added full screen mode and the ability to switch between windowed and full screen mode.
* The design form "Login" and form "of the program", in zagovke form now shows the client version and the active profile.
+ Added ability to clear the cache profile (udayalyaetsya cash card and setting a form editor, all the rest, however, remains.
* Fixed a spelling error in the interface editor, translated several titles and missed a bit optimized, editor.
+ The account management added sorting the list, and the list of available regions in the context menu. Fixed oshiyuka now accounts dialog is created on top of the main editor window.
+ Added function to create lists of random colors for drawing and a new extended predprosomtr colors.
0.7.1 (18.03.2011)
Client:
* Fixed a spelling error in the chat window.
+ Open shortcut menu is now possible through MMB.
+ AF on the control groups and the tiles when you move the mouse.
* Potpravlenny size and location of the filter window.
* Fixes display pressed keys after hours drop down menu.
+ Added ability to selectively hide the following types of static: walls, windows, roofs, floors and other proverhnosti, foliage, trees, water.
* Fixed memory leak when loading the group list.
* Modified controller working with groups. Change the look and design, next to a group light text in brackets is now writing the number of tiles that contains the group.
+ Tag "Group" (fayle@TilesGroup.xml in) adding the formatting attributes of text: "color", "bold", "ital". Text formatting by default: @color = "0x000000", ital = "False" and ital = "True" if the group does not contain subgroups, bold = "False" and bold = "True" if a group contains more than 4 subgroups.
+ When choosing tiles added search for tile from groups with automatic allocation of groups in which he found the desired tile.
+ Added the history of group selection and tiles. Work with history (operations "Cancel" and "Repeat") is using hotkeys "+" and "-" or additional mouse buttons during a focus group on the list box.
+ Expanded description format groups (TilesGroup.xml) introduced a reference data type to the group. Implemented using the tag , where VALUE attribute value ID tag . The default value is 0, the assignment may be different groups of one and togozhe ID. Links represent the group without nested subgroups. Carefully cross references can hang editor.
0.7.0 (27.02.2011)
Client:
* Translated into Russian several missed messages and labels.
* Fixed bug when selecting tiles after launch.
* Fixed saving provisions set of random tiles when the exit option in the settings "Hiding random tiles" and with the option of drawing "random tile from the set."
* The format of file lists (nodraw, vlight, unused) changed from *.rxt to *.xml
* Change the folder to the settings and profiles to "CentrED" on "CentrED-plus".
+ Individual settings and cache files minimap for each profile.
+ Mules support all clients (both HS and SA and older).
Server:
* Translate all messages in Russian.
* Modified version of the protocol, the client CentrED + is no longer compatible with the original server CedServ (use server CedServ +).
+ Check the version *. Mul client files (HS, SA, old) - blocks access for clients using the wrong version of the one used on the server.
+ Added parameter - the name of the configuration file (you can use the various configuration files.)
0.6.1d (24.02.2011)
Client:
* Translated into Russian several missed messages and labels.
* Change the encoding to save profiles and data files on ANSI-1251.
* Small changes GUI.
+ Save the following settings on exit: the current one, checkboxes relief and static, the amount of light, the profile and connection settings.
+ Added sorting tiles in groups and download the list of groups from the file "gtiles.xml" (with the ability to multi-group selection and display of tiles, for the separation of the group from a specified number of sub-subgroups).
+ The settings added to the Auto hiding lists "Random Tiles" and "group of tiles," as they are not used.
+ In control color selection added preview color on the chosen subject (tile).
+ Number of memorized action for the command "Cancel" ("Undo") increased from the 1st to the 64.
0.6.1c (20.02.2011)
Client:
* Fixed bug - do not add to the tiles above the ID higher 0хС000 list filtering
* Restructure menus and fixed bug status display pressed keys.
* Changed icons tools.
* Translated into Russian several missed messages and labels, bug fixed text display error "Connection error" in the wrong encoding for ruskoyazychnyh versions Windows.
* Fixed a bug with the addition of multiple tiles in the filter.
+ In the "choice" added the ability to quickly add tiles and color filter, and move virtual layer.
+ Save these settings on exit: 3D mesh relfa, area terrain, virtual light sources.
+ Display of virtual light sources (and thus their ability to move or delete) and downloading them from file vlight.txt
0.6.1b (24.10.2010)
Client:
- Disconect button removed from toolbar
* Transferred the entire interface into Russian
* Modified Cyrillic encoding for ANSI-1251, so, well when names are displayed tiles in Russian from tiledata.mul and allows searching for Russian names.
* Fixed jambs with GUI and project files
* Fixed rendinga and display tiles with ID > 0xB000
+ Added list of unused, hidden tiles for a list of tiles. (Already has filled list for hiding: unused, fallback, coastline Lendu and used, unused, empty, virtual, gumps, mobiles, catapult, ballista, old ships, orcish galeon, gargish galeon, tokuno galeon, british galeon, sa pavilion statics. Who needs can add or remove an item from the list by editing file unused.txt)
+ Added new display mode card - embossed grid.
0.6.1a (10.06.2010)
The client and the server:
* Added support HS files (clients with version above 7.0.9)
Users Online Now
Guests Online 1
Members Online 0

Total Members: 3
Newest Member: Hotrod
Sign In
Not a member yet? Click here to register.
Forgot Password?
Forum Threads
Latest Discussions
Hottest Threads
  • No Threads created