1.4 Server guides [MERGED]

Join Discord
Status
Not open for further replies.

Ragnar

Hallowed be thy name
Legendary
Golden Oldie
Loyal Member
Jul 20, 2004
5,258
3
295
M2 Server Problems -

Problem 1
Ready to load ini file..
!setup.txt loaded..
Loading client version information..
Ok.
Loading StdItem.DB...
starttimer exception...

Fix to problem 1
Make sure you have set up DB_Commander, with the root in BDE Administrator to the DB's folder.

If you havent then.... Download and install DB_Commander, go into Control Pannel, BDE Administrator, goto Object then NEW, name it HeroDB and find the path inwhich ur DB's are in, Apply the new infomation on the Object HeroDB and it should work fine.

If you have alrdy dun all this, then your StdItems probably has a problem in it somewhere

~~~~~~~

Problem 2
StdItems.DB : ItemsDB Load Code = -100

Fix to problem 2
Make sure all the items are numbered and in numerical order and that there is not any extra slots at the bottom of your StdItems.DB

~~~~~~~

Problem 3
M2Server error report when trying to run M2Server

Fix to Problem 3
Download UnPnP from Fernys and disable UnPnP. If this does not work then press Crtl+Alt+Del, goto processes, end process SVCHOST.EXE - LOCAL SERVICE (Do not end the NETWORK SERVICE). One of these to Fix's should solve the problem.

--------------------------------------------------------------------------

Mir Server Editor Problems -

Problem 1
Not being able to load the stuff in MirServerEditor

Fix to problem 1
Make sure all your preferences and settings paths are all correct.
msehelp.jpg

Thanks to sparx14 for the picture

~~~~~~~

Problem 2
Unable to save changes to a DB

Fix to problem 2
Open the DB in DB_Commander then....
For StdItems -
- Utilities
- Index Info
- Left Table
- Double click Idx
- Tick Unique box (dunno if this is needed tho)
- Press add
- the the green OK, button then it should save without hassle

For Monster
- Utilities
- Index Info
- Left Table
- Double click Name
- Tick Unique box (dunno if this is needed tho)
- Press add
- the the green OK, button then it should save without hassle

--------------------------------------------------------------------------

I am not 100% if all of these work, but i shall edit stuff and add more stuff when it comes
smile.gif


Enjoy

- Jicaa
 

Ragnar

Hallowed be thy name
Legendary
Golden Oldie
Loyal Member
Jul 20, 2004
5,258
3
295
Why Can't People Connect?
People can't connect to your server because you more than likely haven't changed the IP address's in the files. For example, 127.0.0.1 is self hosting and therefore only you will be able to connect whilst that is in the files. Most people leave it as that just to test the server.

How To I Let Other People Connect?
Here's What You Have To Do, Go To Each Of These Files And Check For '127.0.0.1'. Each Time You See '127.0.0.1' Replace It With YOUR IP Address. Hopefully doing that should work. (If you have a router etc i'm not to sure about them. This will just let people without routers etc (unless you know about them) connect.

gate_server/LoginGate/mirgate.ini
gate_server/RunGate/mirgate.ini
gate_server/SelChrGate/mirgate.ini

mir200/!setup.txt
mir200/!runaddr.txt
mir200/!servertable.txt

mud2/DBSrv200/!addrtable.txt
mud2/DBSrv200/!serverinfo.txt
mud2/DBSrv200/dbsrsc.ini

mud2/Logsrv/!addrtable.txt
mud2/Logsrv/!serveraddr.txt
mud2/Logsrv/Logsrv.ini

How to let Other connect on a Router
Enter your files, and you need to edit these files With your GLOBAL IP Address.

X:\MirServer\Mir200\!runaddr.txt

Make it look like this:

Code:

[GLOBAL IP HERE]​



X:\MirServer\Mir200\!servertable.txt

Code:

;';' means Comment
; Followings have to be arrayed by server no.
;server no. connect-addr port connect-addr port.
1 [GLOBAL IP HERE] 7200​



X:\MirServer\Mud2\DBSrv200\!serverinfo.txt

Code:

127.0.0.1 [GLOBAL IP HERE] 7200​



X:\MirServer\Mud2\Logsrv\!addrtable.txt

Code:

;No Space Allowed
;Server Title Remote SelChr Public IP RunGate Public IP:Gate
[ServerName] Line1-7 127.0.0.1 [GLOBAL IP HERE] [GLOBAL IP HERE]:7100​



They are the only files you need to edit with your IP's, ALL other files should use 127.0.0.1. Also, if you use a ServerControl, load it with 127.0.0.1.

Forwarding ports, The ports you need to forward to be able to host a server on a router are, 7000, 7100, 7200, and 3000 if you want people to be able to use ServerSigStatus & Server Count. You need to forward these to the host pcs IP.

Replace 'X' Drive with the Drive you are using. (Normaly C: or D: )
Replace MirServer with your Files directory (Normaly MirServer or Mir2Serv)

None-Router Guide Written by thephoenix.
Router Guide Written by Ali3n.
 

Ragnar

Hallowed be thy name
Legendary
Golden Oldie
Loyal Member
Jul 20, 2004
5,258
3
295
.:How To Make A Server:.

First Things First You Will Need To Download Some ServerFiles

Untouched Files


Now Follow This Guide

1) Extract files to C:\mirserver\

2) Go into the C:\mirserver folder then into the 'gamelog' folder, then
into 'logdatasrv' folder.

3) Open 'logdata.ini'

It'll look like this

---------------------------------------------------------------------------

[setup]
basedir=D:\korea\gamelog\LogDataSrv\Logbase\

---------------------------------------------------------------------------

change it to:

---------------------------------------------------------------------------

[setup]
basedir=C:\mirserver\gamelog\LogDataSrv\Logbase\

---------------------------------------------------------------------------

4) Go back into the C:\mirserver folder and then into the 'mud2' folder, and open
the 'DBSrv200' folder.

5) Open 'dbsrc.ini'

It'll look like this:

---------------------------------------------------------------------------
[Setup]
ServerName=ktest
Port=6000
MapFile=C:\mirserv\Mir200\Envir\MapInfo.txt
[Server]
;Login Server's private ip
IDSAddr = 127.0.0.1
IDSPort = 5600
[DB]
dir=D:\korea\mud2\DBsrv200\FDB\
IdDir=D:\korea\mud2\DBsrv200\FDB\
HumDir=D:\korea\mud2\DBsrv200\FDB\
FeeDir=D:\korea\mud2\DBsrv200\FDB\
Backup=D:\korea\mud2\DBsrv200\Backup\
connectDir=D:\korea\mud2\DBsrv200\Connection\
LogDir=D:\korea\mud2\DBsrv200\Log\
----------------------------------------------------------------------------

Change to:

----------------------------------------------------------------------------
[Setup]
ServerName=ktest
Port=6000
MapFile=C:\mirserver\Mir200\Envir\MapInfo.txt
[Server]
;Login Server's private ip
IDSAddr = 127.0.0.1
IDSPort = 5600
[DB]
dir=C:\mirserver\mud2\DBsrv200\FDB\
IdDir=C:\mirserver\mud2\DBsrv200\FDB\
HumDir=C:\mirserver\mud2\DBsrv200\FDB\
FeeDir=C:\mirserver\mud2\DBsrv200\FDB\
Backup=C:\mirserver\mud2\DBsrv200\Backup\
connectDir=C:\mirserver\mud2\DBsrv200\Connection\
LogDir=C:\mirserver\mud2\DBsrv200\Log\
-----------------------------------------------------------------------------

6) Go back into C:\mirserver\mud2\ and open the 'Logsrv' folder.

7) Open the 'Logsrv.ini' file.

It'll look like this:

------------------------------------------------------------------------------
[server]
DBServer=127.0.0.1
DBSPort=16300
FeePort=16301
LogPort=16302
ReadyServers=0
EnableMakingID=TRUE
EnableTrial=FALSE

CountLogDir=D:\korea\mud2\Logsrv\CountLog\
WebLogDir=D:\korea\Share\GameWFolder\
FeedIDList=D:\korea\Share\Feed\FeedIDList.txt
FeedIPList=D:\korea\Share\Feed\FeedIPList.txt
[DB]
IdDir='.\IDDB\'
-------------------------------------------------------------------------------

Change to:
-------------------------------------------------------------------------------
[server]
DBServer=127.0.0.1
DBSPort=16300
FeePort=16301
LogPort=16302
ReadyServers=0
EnableMakingID=TRUE
EnableTrial=FALSE

CountLogDir=C:\mirserver\mud2\Logsrv\CountLog\
WebLogDir=C:\mirserver\Share\GameWFolder\
FeedIDList=C:\mirserver\Share\Feed\FeedIDList.txt
FeedIPList=C:\mirserver\Share\Feed\FeedIPList.txt
[DB]
IdDir='.\IDDB\'
--------------------------------------------------------------------------------

8) Go back into the C:\mirserver folder and open the 'Mir200' folder.

9) Open !setup.txt

It'll look like this:

--------------------------------------------------------------------------------
[Server]
ServerIndex=0
ServerName=ktest
ServerNumber=0
VentureServer=FALSE
TestServer=TRUE
TestLevel=7
TestGold=0
TestServerUserLimit=5000
ServiceMode=FALSE
NonPKServer=FALSE

DBAddr=127.0.0.1
DBPort=6000
IDSAddr=127.0.0.1
IDSPort=5600
MsgSrvAddr=127.0.0.1
MsgSrvPort=4900

HumLimit=30
MonLimit=30
ZenLimit=30
NpcLimit=5
SocLimit=30
DecLimit=10
UserFull=500
ZenFastStep=300
SendBlock=1000
CheckBlock=8000
AvailableBlock=50
GateLoad=0
LogServerAddr=127.0.0.1
LogServerPort=10000
ViewHackMessage=TRUE
ViewAdmissionFailure=TRUE
;HalfFeeStart=2
;HalfFeeEnd=10

[Share]
BaseDir=D:\korea\Mir200\Share\
GuildDir=D:\korea\Mir200\GuildBase\Guilds\
GuildFile=D:\korea\Mir200\GuildBase\Guildlist.txt
VentureDir=D:\korea\Mir200\ShareV\
ConLogDir=D:\korea\Mir200\ConLog\
CastleDir=D:\korea\Mir200\Envir\Castle\
EnvirDir=D:\korea\Mir200\Envir\
MapDir=D:\korea\Mir200\Map\

[Setup]
ClientFile1=mir.dat
ClientFile2=
ClientFile3=
ItemNumber=1964471325
HomeMap=0
HomeX=289
HomeY=618

[Names]
ClothsMan='BaseDress(M)'
ClothsWoman='BaseDress(F)'
WoodenSword='WoodenSword'
Candle='Candle'
BasicDrug='(HP)DrugSmall'

GoldStone='GoldOre'
SilverStone='SilverOre'
SteelStone='IronOre'
CopperStone='Copp'
BlackStone='BlackOre'

Zuma1='ZumaGuardian'
Zuma2='ZumaStatue'
Zuma3='ZumaArcher'
Zuma4='WedgeMoth'

Bee='BugBat'
Spider='Larva'

WomaHorn='WoomaHorn'
ZumaPiece='ZumaRelic'
----------------------------------------------------------------------------

Change to:
----------------------------------------------------------------------------
[Server]
ServerIndex=0
ServerName=ktest
ServerNumber=0
VentureServer=FALSE
TestServer=TRUE
TestLevel=7
TestGold=0
TestServerUserLimit=5000
ServiceMode=FALSE
NonPKServer=FALSE

DBAddr=127.0.0.1
DBPort=6000
IDSAddr=127.0.0.1
IDSPort=5600
MsgSrvAddr=127.0.0.1
MsgSrvPort=4900

HumLimit=30
MonLimit=30
ZenLimit=30
NpcLimit=5
SocLimit=30
DecLimit=10
UserFull=500
ZenFastStep=300
SendBlock=1000
CheckBlock=8000
AvailableBlock=50
GateLoad=0
LogServerAddr=127.0.0.1
LogServerPort=10000
ViewHackMessage=TRUE
ViewAdmissionFailure=TRUE
;HalfFeeStart=2
;HalfFeeEnd=10

[Share]
BaseDir=C:\mirserver\Mir200\Share\
GuildDir=C:\mirserver\Mir200\GuildBase\Guilds\
GuildFile=C:\mirserver\Mir200\GuildBase\Guildlist. txt
VentureDir=C:\mirserver\Mir200\ShareV\
ConLogDir=C:\mirserver\Mir200\ConLog\
CastleDir=C:\mirserver\Mir200\Envir\Castle\
EnvirDir=C:\mirserver\Mir200\Envir\
MapDir=C:\mirserver\Mir200\Map\

[Setup]
ClientFile1=mir.dat
ClientFile2=
ClientFile3=
ItemNumber=1964471325
HomeMap=0
HomeX=289
HomeY=618

[Names]
ClothsMan='BaseDress(M)'
ClothsWoman='BaseDress(F)'
WoodenSword='WoodenSword'
Candle='Candle'
BasicDrug='(HP)DrugSmall'

GoldStone='GoldOre'
SilverStone='SilverOre'
SteelStone='IronOre'
CopperStone='Copp'
BlackStone='BlackOre'

Zuma1='ZumaGuardian'
Zuma2='ZumaStatue'
Zuma3='ZumaArcher'
Zuma4='WedgeMoth'

Bee='BugBat'
Spider='Larva'

WomaHorn='WoomaHorn'
ZumaPiece='ZumaRelic'
--------------------------------------------------------------------------
You can also change:

TestLevel=7
TestGold=0

and put your own values where '7' and '0' are, as for the level you start at, and
gold you start with.

10) Go back into C:\mirserver and open the 'client' folder.

11) Open the 'client.zip' file and extract (unzip) 'ONLY' mir.exe, ftp.ini, mir.ini and
mirsetup.ini into your C:\program files\WEMADE Entertainment\Legend of Mir folder.

Also, go to C:\mirserver then open the 'Mir200' folder and then open the 'Envir' folder
then open the adminlist.txt file.
on a line, write

*yourcharname

yourcharname= the name of the character you want to be a GM.
The * states they are a GM with full GM powers.

12) Install DBCommander 2000 Pro (if you haven't already installed it).

13) Open your control panel in Start > Settings > Control Panel.

14) Open 'BDE Administrator'. Then, click 'Object', 'New'.

15) A box will pop-up with a drop-down selection box. From that box select STANDARD, and click
OK.

16) In the left-panel you'll see a new file appear called 'standard1', rename this to HeroDB
In the right panel, it'll look like this.

Type STANDARD
DEFAULT DRIVER PARADOX
ENABLE BCD FALSE
PATH

Change to:

Type STANDARD
DEFAULT DRIVER PARADOX
ENABLE BCD FALSE
PATH C:\mirserver\mud2\DB

17) in the left-panel right click the HeroDB file and click 'apply'.

18) Close BDE Administrator.

19) Go to C:\mirserver and open the 'gamelog' folder, then 'logdatasrv' folder,
and run LogDataServer.exe

20) Go to C:\mirserver open the 'gate_server' folder, then open the 'LoginGate' folder then
run 'Logingate.exe'.

Go back one folder and open the 'RunGate' folder, and run 'RunGate.exe'.

Go back one folder and open the 'SelChrGate' folder, and then run 'Gate30.exe'.

21) Go back to C:\mirserver folder and open the 'mud2' folder. Then open the 'DBSrv200' folder
and run 'DBServer.exe'.

Go back one folder and open the 'Logsrv' folder. Then run 'LoginSrv.exe'.

22) Go back to C:\mirserver and open the 'Mir200' folder. Then Run M2Server.exe

23) Now open the Legend of Mir game, and it should work!!

24) Make an ID and then for your character name it to the name you put in the admin list,
previously. (do not put the * in your characters name of course)

25) Once in game type: @gamemaster and you will be a GM!
further GM commands can be found in C:\mirserver open 'Documents' folder and open
commands.txt

Naughty boy OllieD you took the commands from there ^_^ .

There we have it! they should work perfectly, also keep checking forums and ill put a guide
to let other ppl join ur server.

Guide written by: TheLostOne on http://www.mkanetwork.co.uk/~ollied/Forums/

Obtained from http://www.lalacorphq.pwp.blueyonder.co.uk/serverfilesREADME.txt
 

Ragnar

Hallowed be thy name
Legendary
Golden Oldie
Loyal Member
Jul 20, 2004
5,258
3
295
Errors You May Find After Setup Files:

pnp.JPG


Simply download UNPNP and click Disable

Now You Need A Server Starter (TBH!)

Personally I Would Download Leo & Neo's Server Starter i think its
the most simpleist server start around

Updates:

Now you have the server up and running you would want some more items
/armours/mobs etc

Personally these are my favourite mobs/items/magic etc

Monster
Item
Weapon

I will let you sort the maps out as i dont think people want me
releasing their maps
smile.gif


To make your own maps get Mapedit

And look @ some Guides over LOMCN

Snazing It Up


Now you might wanna snaz your server up with some custom NPC's
a good program to use is Sols Npc Scripter and a guide with all the commands @ BlamsGuide

Adding Custom Items To The Database

Now you may wanna add your own items with custom names so you will need

The Apprentice's Mir Server Editor


If you wanna do it the hard way download


DB Commander

Crack Here :O

I Find LomTools a good program to look at the Mob/Items/Etc shapes
and numbers as its all spread out and easier to use

Any more info on bugs or nething just pm me [Shadow]
 

Ragnar

Hallowed be thy name
Legendary
Golden Oldie
Loyal Member
Jul 20, 2004
5,258
3
295
MirSrv.exe Setup Guide MirSrv.exe Setup

1. Download the Files needed Download Here

2. Open the files using WinRar, and extract to C:\MirServer\Mir200 (Replace MirServer with your Directory)

3. Unzip the Common folder, and extracr that to C:\MirServer\mir200\envir\questdiary

4. Go into the !setup.txt, add your Server name to the top in the correct place, Change the Directories in here also

5. Find the MemeberManage-0.txt in the Mir200 Folder that your unziped, and place that into the Market_def folder in Envir

6. Go into merchant.txt and add this line:

MemberManage 0 333 270 MemberManage 0 12 0

8. When loading up using your server control, Change the M2Server link, to the Mirsrv.exe (So that the Server
Control loads the MirSrv.exe instead of the m2server.exe)

9. When your server has loaded, Instantly Close the LOGINSERVER.exe, wait 5minutes, and reopen it.


Step Number 9 Is the Fix for storage. The M2Server has to have finished loadeding before anyone has logged on to the server, or storage will NOT work




Settings

In your Strings.ini file in the Mir200 Folder, can you change what the Renewed (Rebithed) Characters have next to
their name, Find:

ReNewWarr=*<K>
ReNewWizard=*<S>
ReNewTaos=*<N>

Change that to:

ReNewWarr=*<Knight>
ReNewWizard=*<Sourcerer>
ReNewTaos=*<Paladin>

or what ever you want your characters to be called when they rebirth.


Hope this helps

By: Ali3n
 

Ragnar

Hallowed be thy name
Legendary
Golden Oldie
Loyal Member
Jul 20, 2004
5,258
3
295
Creating items Guide. [a]Here is every item stdmode and Shape for you to make special stats.

HP/MP Pot

stdmode=0

Ac=Hp Regain
Mac=MP Regain

Special Drug/Scroll

stdmode=3

Ac=add HP
Ac2=A.Speed+
Mac=Add MP
Mac2=How Long It Lasts
Dc=Adds DC
MC=Adds MC
SC=Adds SC

This Needs Shape 12

Shape 1=Dungeon Escape
Shape 2=Random Teleport
Shape 3=Town Teleport
Shape 4=Benidict Oil
Shape 5=Teleport Home
Shape 9=Repair Oil
Shape 10=War God Oil
Shape 11=Lottory Ticket
Shape 12=Special Drug (use the above for this)

Book

stdmode=4

Shape 0=Warrior Book
Shape 1=Wizard Book
Shape 2=Taoist Book

Weapon

stdmode=5

Ac=Luck
Ac2=Acc
Mac=Curse
Mac2=A.Speed

stdmode=6

Shape 22=Spirit Item


Armours Male

stdmode=10

Shape 1=Base Armour
Shape 2=Meduim Armour
Shape 3=Level 22 Warrior
Shape 4=Level 22 Wizard
Shape 5=Level 22 Taoist
Shape 6=Level 33 Warrior
Shape 7=Level 33 Wizard
Shape 8=Level 33 Taoist

Armours Female

stdmode=11

Shape 1=Base Armour
Shape 2=Meduim Armour
Shape 3=Level 22 Warrior
Shape 4=Level 22 Wizard
Shape 5=Level 22 Taoist
Shape 6=Level 33 Warrior
Shape 7=Level 33 Wizard
Shape 8=Level 33 Taoist

Helmet

stdmode=15

Shape 125=Recll Helmet
Shape 129=Spirit Helmet
Shape 132=Mystery Helmet

Necklace

stdmode=19

Shape 123=Recall Necklace

stdmode=20

Ac2=M.Eva
Mac=Curse
Mac2=Luck

Shape 20=Skill Necklace
shape 21=Probe Necklace
Shape 22=Phoeny Necklace
Shape 23=Orchid Necklace

Special Neckalce

stdmode=21

Ac=A.Speed+
Ac2=HP Recovery
Mac=A.Speed-
Mac2=MP Recovery

Shape 0=Gale Necklace
Shape 113=Regain Necklace
Shape 127=Spirit Necklace

Ring

stdmode=22

Shape 111=Clear Ring
Shape 112=Teleport Ring
Shape 113=Paralise Ring
Shape 114=Revival Ring
Shape 115=First skill ring
Shape 116=Second Skill Ring
Shape 118=Protection Ring
Shape 119=Muscle Ring
Shape 122=Recall Ring
Shape 130=Mystery Ring
Shape 133=Phoeney Ring
Shape 136=Orchid Ring

Stdmode=23

Ac=A.Speed
Ac2=Magic.EV
Mac2=Poisen.Rec

Shape 22=Spirit Item

Bracelet

stdmode=24

Ac2=Acc
Mac2=Agil

Shape 124=Recall Bracelet

stdmode=26

Shape 126=Spirit Bracelet
Shape 131=Mystery Bracelet
Shape 134=Phoney Bracelet
Shape 137=Orchid Bracelet

Poisen/Amulet

stdmode=25

Shape 1=Grey Poisen
Shape 2=Yellow Poisen
Shape 5=Amulet

Bundled Items

stdmode=31

Shape ***= *** there in Default: C:\mirserver\Mir200\Envir\unbindlist.txt put a number and what you want unbinded

By Toxick
 

Ragnar

Hallowed be thy name
Legendary
Golden Oldie
Loyal Member
Jul 20, 2004
5,258
3
295
NPC Commands + What they do! Could a mod make this sticky please,


Commands :

@main
CHECK
CHECKOPEN
CHECKUNIT
RANDOM
GENDER
DAYTIME
CHECKLEVEL
CHECKJOB
CHECKITEM
CHECKITEMW
CHECKGOLD
ISTAKEITEM
CHECKDURA
CHECKDURAEVA
DAYOFWEEK
HOUR
MIN
CHECKPKPOINT
CHECKLUCKYPOINT
CHECKMONMAP
CHECKMONAREA
CHECKHUM
CHECKBAGGAGE
CHECKNAMELIST
EQUAL
LARGE
SMALL
SET
RESET
SETOPEN
SETUNIT
RESETUNIT
TAKE
GIVE
TAKEW
CLOSE
MAPMOVE
MAP
BREAK
TIMERECALL
BREAKTIMERECALL
PARAM1
PARAM2
PARAM3
PARAM4
TAKECHECKITEM
MONGEN
MONCLEAR
MOV
INC
DEC
SUM
MOVR
EXCHANGEMAP
RECALLMAP
ADDBATCH
BATCHDELAY
BATCHMOVE
PLAYDICE
ADDNAMELIST
DELNAMELIST
GOQUEST
ENDQUEST
GOTO
#IF
#CALL
#ACT
#HOME
#SETHOME
#INCLUDE
#ELSEACT
#ELSESAY
#RAND
#DEFINE
@s_repair
@buy
@sell
@repair
@makedrug
@prices
@storage
@getback
@upgradenow
@getbackupgnow
@exit
~@upgradenow_ing
~@upgradenow_ok
~@upgradenow_fail
~@getbackupgnow_ok
~@getbackupgnow_ing
~@getbackupgnow_fail

@@buildguildnow
@@guildwar
@@donate
@requestcastlewarnow

@@withdrawal
@main
@@receipts
@openmaindoor
@closemaindoor
@repairdoornow
@repairwallnow1
@repairwallnow2
@repairwallnow3
@hireguardnow
@hireguards
@hirearchernow

By Blaminator
 

Ragnar

Hallowed be thy name
Legendary
Golden Oldie
Loyal Member
Jul 20, 2004
5,258
3
295
set [x] 1/0

eg
set [30] 1


this will set the variable number with either a 1 or a 0




check [x] 1/0

eg
#IF
check [30] 1
#ACT
goto @talk


this will check the character variable number 30, if it is 1, then it will goto the sub named @talk




goto <sub procedure>


eg
goto @nextone


this will move the script on to the specified sub procedure




checkjob warrior/taoist/wizard

eg
#IF
checkjob warrior
#ACT
goto @hesawarrior


this checks the current characters job




checklevel x

eg
#IF
checklevel 30
#ACT
goto @heslevel30


this checks the current characters level





checkitem <item> <ammount>

eg
#IF
checkitem GoldBar 1
#ACT
goto @gotgoldbar


this will check if the user has got the specified ammount of the speicifed item




checkgold <ammount>

eg
#IF
checkgold 1000
#ACT
goto @gotthegold




this will check if the user has got the specified ammount of gold or not





give <item> <ammount>

eg
give GoldBar 3


this will give the user the specified ammount of the specified item




take <item> <ammount>

eg
take GoldBar 3


this will take away from the user the specified ammount of the specified item




map <map id>

eg
map B101




this will move the user to the specified map at a random coord







mapmove <map id> <x coord> <y coord>

eg
map 0 300 300




this will move the user to the speicifed map and coords




Param1 <map name>
Param2 <target x loc>
Param3 <target y loc>
MonGen <mob name> <ammount> <?>



eg
Param1 0102
Param2 7
Param3 7
MonGen Woomataurus 1 1


this will spawn the specified number of the specified mob on the specified map, at the specified loc(random?)




monclear <map name>


eg
monclear 0102


this will clear all the MOBS from the specified map, all NPCs will remain





daytime <time of day>


eg
#IF
daytime day
#SAY
Its daytime!


this will check what time it is, choices are day/night/sunraise/sunset




random <number>


eg
#IF
random 10
#SAY
A one out of ten chance, and you got it!
#ELSESAY
Rofl, joo sook


this will give the user a 1/x chance for the script to move on to the next command, x being the number entered




timerecall <time in minutes>


eg
#IF
checklevel 30
#SAY
In you go, ill fetch you out after five minutes!
#ACT
map g004 5 5
timerecall 5


this will recall the user from the map he was sent from in the specified number of minutes




breaktimerecall


eg
breaktimerecall


this will stop all timerecall timers for this character




checkbaggage


eg
#IF
checkbaggage
#SAY
you have room, here you go!
#ACT
give Woomahorn
#ELSESAY
you have no room! heres some gold instead.
#ELSEACT
give gold 1000000


this will check to see if you have room in your bag or not for an item




movr <variable name> <number>


eg
#ACT
movr d0 6
inc d0 1
#SAY
you have rolled the number <$STR(D0)>!


this will roll a number between 0 and the specified number, and store it in the specified variable
to access the stored number, look up <$STR(x)> below




inc <variable> <number>


eg
#ACT
movr d0 6
inc d0 1


this will increase the specified variable by the specified ammount




equal <variable> <number>


eg
#ACT
movr d0 6
inc d0 1
#IF
equal d0 1
#SAY
you rolled a one!


this will check to see if the variable specified is the number specified or not




playdice <number of dice> <target sub>


eg
[@main]
<Roll the dice!/@roll>

[@roll]
#ACT
movr d0 6
inc d0 1
playdice 1 @cube

[@cube]
#SAY
You rolled a <$STR(D0)>!


this will show the specified number of dice rolling(values stored in d0-9), after they have stopped rolling
they will move onto the specified sub-procedure



batchDelay <time in seconds>
addbatch <map name>
batchmove


eg
batchDelay 1
addbatch 0101
addbatch 0102
addbatch 0103
addbatch 0104
batchmove


this will move the player through each of the specified maps, at an interval of the specified seconds.




checkhum <map> <number>


eg
#IF
checkhum 0101 5
#SAY
Im afraid there are already two people in the room, come back later!
#ELSESAY
In you go!
#ELSEACT
map 0101




close


eg
close


this will close the current dialog box that is open


break


eg
break


this will stop the script. ie, it will not continue with the next #IF #ACT functions.

Example scripts using #SAY


[@main]
#IF
checkgold 3000
#SAY
You have 3000 gold, do you want to buy my uberthing?
<Yes/@buyit>
<No/@nothanks>


[@buyit]
#IF
checkgold 3000
#ACT
take gl 3000
give uberthing 1
#SAY
Heres your uberthing!
<Close/@exit>


[@nothanks]
#ACT
give notsouberthing 1
#SAY
Fine
heres a notsouberthing, on the house
Enjoy!


gender <gender>
Check if the character is male or female
For use with gender specific items (armour)

#IF
gender man
#SAY
You are male
#ELSESAY
You are female
(There is no Gender woman, for woman use #elseact )

DAYOFWEEK <3 letter day> ( MON TUE WED THU FRI SAT SUN )

eg
#if
DAYOFWEEK MON
#say
it is monday
#elsesay
It is not monday


Script Identifiers:

<$USERNAME> = current character name
<$USERWEAPON> = current characters weapon
<$STR(x)> = returns the value of the variable x
<$CASTLEWARDATE> = returns the date of the next sabuk war
<$LISTOFWAR> = lists all the upcomming subak wars

checkitemw <item>

Check's that the item is being worn by player.

takew <item>

Takes item being worn


in better detail

By Blaminator
 

Ragnar

Hallowed be thy name
Legendary
Golden Oldie
Loyal Member
Jul 20, 2004
5,258
3
295
I've seen a lot of people asking for help in using the MapQuest system. So below is a simple guide for creating a quest to kill mob X on map Y.

Open up "\mirserver\Mir200\Envir\MapQuest.txt", you should see something like this:

Code:
12 [401] 1 RootSpider * Q1401

D10031 [403] 1 BigApe * Q1403
D10032 [403] 1 BigApe * Q1403
D1004 [403] 1 BigApe * Q1403
D10051 [403] 1 BigApe * Q1403
D10052 [403] 1 BigApe * Q1403
D10053 [407] 1 RedEvilApe * Q1407
D10071 [409] 1 RedMoonEvil1 EvilApeOil Q14091
D10054 [412] 1 GreyEvilApe * Q1412
D10062 [413] 1 RedMoonEvil * Q14132​



This is were you set any mobs for MapQuests. Scenario: We have map Y and we want to trigger something when mob X gets killed on that map, to do this we would add the following:

Code:

Mapname [Quest Flag] Ammount Mob Name Item Name Quest File
MapY [999] 1 MobX * Q999​



Now that we've added our trigger, we need to define something to output once that event has been triggered. So now create a text file called Q999 and put the following NPC script in it:

Code:
[@main]
#IF
check [999] 1
#ACT
goto @killed_mob

[@killed_mob]
#SAY
Well done, you killed mob X\
Click next to get your prize
<Next../@getprize>

[@getprize]
#IF
check [998] 0
#ACT
give prize 1
set [998] 1
#ELSESAY
You have already had your prize\\
<Exit/@exit>​



Save this file as Q999.txt in the "\mirserver\Mir200\Envir\MapQuest_Def\" folder.

That is the use of MapQuest for killing a mob. Now you're wondering how you stop people accessing maps using MapQuest?? Easily done.

As an example, we want to only allow people who've completed a quest to be able to access map X. Open up "\mirserver\Mir200\Envir\mapinfo.txt" and add the following.

Code:
[MapX Quest_Map_X 0] CHECKQUEST(Q8888) NORECALL NORECONNECT(0)​



In that code, the bit that makes all this work is "CHECKQUEST(Q8888)", what this does is as someone enters a map it executes the NPC script in "\mireserver\Mir200\Envir\MapQuest_Def\Q8888.txt". Now lets make that NPC script....

Code:
[@main]
#IF
;check if quest has been completed (888 being the flag for quest)
check [888] 1
#ACT
break

#IF
;check if quest has been completed (888 being the flag for quest)
check [888] 0
#SAY
You cannot access this map without first completing the quest\
<Exit/@exit>​



Save the above NPC script in "Q8888.txt". There you have it, a script to stop people accessing a map based on their flag status.

Obviously for you to be able to use this guide properly, you need to change some details, but it's just a basic guide to how the MapQuest system works.

By Solitude
 

Ragnar

Hallowed be thy name
Legendary
Golden Oldie
Loyal Member
Jul 20, 2004
5,258
3
295
1337 uber guides for Securing a MIR Server
By LeoCrasher
============================================

Twas last night when it came to my attention that many of the current servers are susceptable to attack, therefore I have created this guides for yas which shows you how to secure a server using the tools that are supplied with windows XP Pro and above. Of course if you are running a MIR server, I recommend you use Win2003 Server, but XP Pro will do. Following this guides is good as it requires little knowledge about these things, and can be done using software you ALREADY own.

If anyone has problems following this guide, or has any questions - feel free to send them via email or msn to [email protected], or on my forum at http://leocrasher.co.uk/forum.

NOTE: Some versions of WinXP home don't seem to include IPSec, and WinServer 2003WEB doesn't seem to include the intergrated firewall. Therefore, you may find this guide of limited use.

Who this is essentially for:
WinXP Pro
WinXP MediaCenter
ALL Win2003 (except web)

Contents:
----------------

1. Setting up and configuring the Internet Connection Firewall
2. Setting up IP blocking using IPSec
3. Quickly adding additional IP's to block using IPSec

[Setting up and configuring the Internet Connection Firewall]
This is by far the easiest task, and goes as follows.

1. First goto your control panel and make sure your in classic view, next open Network Connections. Once inside right-click ur internet connection and select 'Properties'.
netcon.png

2. Look at the tops at the top of the window thats appeared, select 'Advanced'. From here tick the box as shown below.
internet.png

3. Now click the 'Settings' button near the bottom of the window, you will now be presented with a screen SIMILAR to the one below:
netan1.png

4. Click the 'Add' button, where you will now be presented with this box:
config.png

5. Now fill the box with these details;
Description: M2UserCount
IP: 127.0.0.1
EXPort: 3000
INPort: 3000
TCP

6. Now repeat steps 4 and 5 using this information:
Description: M2LoginGate
IP: 127.0.0.1
EXPort: 7000
INPort: 7000
TCP

7. Repeat steps 4 and 5 again using this information:
Description: M2SelChrGate
IP: 127.0.0.1
EXPort: 7100
INPort: 7100
TCP

8. Now for the final time, repeat steps 4 and 5 with this information:
Description: M2GameServer
IP: 127.0.0.1
EXPort: 7200
INPort: 7200
TCP

8a. You should now have something that looks like this;
netan2.png

9. You may wish to allow other ports depending on what you want outsiders to be able to access.
10. Click OK/Apply on any dialogs you may have open. The firewall will take effect as soon as you reconnect to the internet.

[Setting up IPSecurity (the thing that lets you block IP addresses)]
This is a very tedious task, but only needs to be done once
smile.gif
.

1. Goto Start -> Run and type 'Secpol.msc' without exclamation marks.
run.png

2. You should now be presented with the Local Security Settings console.
3. Right click an empty white area in same area as shown below, and click Create IP Security Policy;
secpol.png

4. You will be prompted to call it something, I have chosen the below.
ipsec.png

5. Press NEXT and then UNTICK 'Activate the default response rule'. Then press NEXT again, finally press FINISH (leave 'Edit properties' ticked).
6. You will now be presented with a screen like the below;
ipsecprop.png

7. Make sure that <Dynamic> is UNTICKED, and press 'Add...'
8. Press NEXT.
9. When asked to specify a tunnel, make sure 'This rule does not specify a tunnel' is selected, then press NEXT.
10. Network type: All network connections
11. Press NEXT
12. Selec 'Use a certificate from this certification authority' and press BROWSE.
13. Select the certificate at the top of the list and press OK.
14. You should now have a window that looks like this:
auth.png

15. Press NEXT
16. You should now have a list of IP filter lists, click 'Add...'
17. You will be presented with the 'IP Filter List' window, it will ask for a name which will be set to 'New IP Filter List', change it to 'MIR Blocked IPs'. For a description, enter something like 'My Mir2 servers blocked IP addresses'.
18. Click 'Add...'
19. When asked for a source address, specify 'A specific IP address', and place an example IP address inside the newly created textbox - as shown below (or the IP of someone you wish to block).
iptraf.png


By LeoCrasher

<Read Down, continues there>
 

Ragnar

Hallowed be thy name
Legendary
Golden Oldie
Loyal Member
Jul 20, 2004
5,258
3
295
20. Press NEXT, and when prompted for a destination address, just leave it as 'Any IP Address'
21. Protocol type: ANY. Press NEXT
22. Make sure 'Edit Properties' is unticked and press FINISH.
23. You will be back at your IP Filter List window, press OK.
24. You will be back at your Security Rule Wizard window, select the circle box of the filter you just created, then press NEXT - as shown below.
mirblock.png

25. Now you will be asked what action you wish to take on the list... we want to complety block them, but this isn't on the list so we'll have to make that too.
26. Press 'Add...', then 'NEXT'
27. Give it a name of BLOCK, and a description of 'BLOCK USERS' and press NEXT.
28. Now you will be given a choice of 3 filter actions, select 'Block' and press NEXT.
29. Make sure 'Edit properties' is unticked and press FINISH.
30. You will be back at your filter action choice, you should see that your new BLOCK option is there. Select its circle as shown below.
blockum.png

31. Press FINISH (leaving edit properties ticked).
32. Press OK to the 'New Rule Properties' window that has appeared.
33. A window very similar to the one below should now be shown, make sure that ur newly created rule is ticked. The press CLOSE.
finny.png

34. Now assign your rule as shown below:
assign.png

35. Assignment comes into effect immediatly, and does not require a restart or anything else like that.

[Adding additional IP's to block using IPSec]
Since you have created IP blocking, you can now add new IP's to block quite quickly.

1. First open IPSec as shown in "Setting up IP blocking using IPSec" Step 1.
2. Right click your secuirty policy for blocked IP's, which is likely to be called 'MirServer IP Blocking' and click Properties.
3. Select your Blocked IP filter, which is likely to be called 'MIR Blocked IP's' and press 'Edit...'.
4. Again select the filter list you created earlier, likely to be called 'MIR Blocked IPs' and press 'Edit...'.
4a. The IP filter window will now have appeared, you may wish to remove the TEST IP you added earlier, by selecting it (its in the bottom list), and press REMOVE.
5. Press ADD, then NEXT,
6. When asked for a source address select 'A specific IP Address' and enter the IP of the person you wish to ban inside the box.
7. Press NEXT, and when prompted leave the destination address as 'Any IP Address'.
8. Leave the protocol as 'Any' and press NEXT once more.
9. Leave 'Edit properties' unticked and press FINISH.
10. You will be back at your IP filtered list, press OK
11. You will be back at your Edit Rule list, press Apply, then Close/OK.
12. You will be back at your MirServer IP Blocking Properties window, Apply then Close/OK.
13. To make doubly sure its worked, right click your policy, unassign it, then reassign it again. The updates are instant.

By LeoCrasher
 

Ragnar

Hallowed be thy name
Legendary
Golden Oldie
Loyal Member
Jul 20, 2004
5,258
3
295
If you are running a server on a computer on your LAN it is possible to connect all the other computers on the LAN to that server and still allow connections over the internet for external players. This is my guide to do just that.

Server Side

To begin ensure all IP’s are set to 127.0.0.1 your local ip. Then edit your files as follows.

Open the file Mir200/!runaddr.txt

Replace 127.0.0.1 in that file with your global IP


Open the folder Mir200

Replace the file !servertable.txt with the !servertable.txt file attatched below.


Open the folder Mud2/logsrv

Replace the file !addrtable.txt with the !addrtable.txt file attatched below.


Open the folder Mud2/DBSrv200

Replace the file !serverinfo.txt with the !serverinfo.txt file attatched below.


Now we must edit the files you have just replaced to contain the right IP’s for your LAN.

Open Mir200/!servertable.txt

It will look like this:


1 GlobalIP 7200 LanIP1 7205 LanIP2 7210


Replace Global IP with your global ip address.

Replace LanIP1 with the local ip address of the first computer you wish to connect over your LAN.

Replace LanIP2 with the local ip address of the second computer you wish to connect over your LAN.


Open Mud2/Logsrv/!addrtable.txt

It will look like this:


;Server Title Remote Public Gates...

ServerName Line1-7 127.0.0.1 GlobalIP GlobalIP:7100
ServerName Line8-14 LanIP1 LanIP1 LanIP1:7100
ServerName Line15-21 LanIP2 LanIP2 LanIP2:7100


Replace ServerName with the name of your server (case sensitive)

Replace Global IP with your global ip address.

Replace LanIP1 with the local ip address of the first computer you wish to connect over your LAN.

Replace LanIP2 with the local ip address of the second computer you wish to connect over your LAN.

Open Mud2/DBSrv200/!serverinfo.txt

It will look like this:

127.0.0.1 GlobalIP 7200
LanIP1 LanIP1 7205
LanIP2 LanIP2 7210

Replace Global IP with your global ip address.

Replace LanIP1 with the local ip address of the first computer you wish to connect over your LAN.

Replace LanIP2 with the local ip address of the second computer you wish to connect over your LAN.

Open the file Mir200/!runaddr.txt
It will look like this:

127.0.0.1

Replace this IP with your Global IP address.

Client Side ~ A Tad More Complicated

Now on each of the client computers on the LAN It is essential for the ip’s in the client ini files to be correct and a set of the three gate exe’s to be running with the correct configuration.

The mir.ini and the mirsetup.ini file in the legend of mir client folder contain the LAN IP address of the computer that wishes to connect to the server so either LanIP1 or LanIP2 would be put in these files.

The Gates

It does not matter where the gates are run from I normally keep mine in a folder on my desktop. I have included the 3 gates in a download below.


Gates Download

To make this part a bit easier I have included 2 version of the config.ini file name Config1.ini and Config2.ini.

Config1.ini is for use on the first computer you wanted to connect over the LAN, this computer will have the ip LanIP1 which you set in the files server side.

Config2.ini is for use on the second computer you wanted to connect over the LAN, this computer will have the ip LanIP2 which you set in the files server side

So choose the correct Config.ini file appropriately and when you have chosen the file you need rename it to Config.ini.

Now open the file Config.ini which you just renamed.

And look for the 3 instances of LanIPofServer replace this with the Local/LAN IP of the server computer. Save And Exit.



You are now ready to start to connect over the LAN.


Ensure the server is up and running.
On the client machine/machines launch the three gate exe’s
Double click the mir.exe in the game folder.

Enjoy the game!



Sometimes I don’t know why but the first time you try to connect you might get connection closed, Try closing and reopening the gates.

If you get a connection closed error you have setup the IP’s in you files wrongly. Check back and follow this guide carefully and ensure all the correct IP’s go in the correct places.


This process is then repeated for additional computers on your LAN


I Hope This Guide Is Of Use To Some People Certainly Took Me A While To Get Mine Sorted.

Im Happy to answer any questions via pm or replies.

Originally posted by bubble17031988

TaTa
Attached Files
!servertable.txt
!addrtable.txt
!serverinfo.txt
Connection Guide.doc
 
Last edited:

Ragnar

Hallowed be thy name
Legendary
Golden Oldie
Loyal Member
Jul 20, 2004
5,258
3
295
Now these files have been set up for only 2 computers to connect over the LAN but as I said at the beginning it is possible for basically as many computers as you want to connect. This means editing the files.

Server Side

Open Mir200/!servertable.txt
It will look like this:

1 GlobalIP 7200 LanIP1 7205 LanIP2 7210

In this file you would add another client IP in ass shown below.

1 GlobalIP 7200 LanIP1 7205 LanIP2 7210 LanIP3 7215


The game gate port must be unique to each computer connecting, I usually add 5 to the previous one.

Open Mud2/Logsrv/!addrtable.txt
It will look like this:


;Server Title Remote Public Gates...
ServerName Line1-7 127.0.0.1 GlobalIP GlobalIP:7100
ServerName Line8-14 LanIP1 LanIP1 LanIP1:7100
ServerName Line15-21 LanIP2 LanIP2 LanIP2:7100

In this file a full new line is entered underneath the previous entries. As shown below.



;Server Title Remote Public Gates...
ServerName Line1-7 127.0.0.1 GlobalIP GlobalIP:7100
ServerName Line8-14 LanIP1 LanIP1 LanIP1:7100
ServerName Line15-21 LanIP2 LanIP2 LanIP2:7100
ServerName Line22-28 LanIP3 LanIP3 LanIP3:7100

The gate number remains the same so does the server name but the IP is now LanIP3 for the 3rd computer you wish to connect and the hardest part the title changes in each line.

The first title is Line1-7 then the second is Line8-14. The pattern is +7 to the first number and the second number when adding a new line. Just +7 to both numbers in the previous line.



Open Mud2/DBSrv200/!serverinfo.txt
It will look like this:

127.0.0.1 GlobalIP 7200
LanIP1 LanIP1 7205
LanIP2 LanIP2 7210

The third computer is inserted in a new line as shown below:



127.0.0.1 GlobalIP 7200
LanIP1 LanIP1 7205
LanIP2 LanIP2 7210
LanIP3 LanIP3 7215

The gate at the end must match the game gate you set earlier in the !servertable.txt file.



Client Side

Now on the third computer client side the ini files are setup as stated previously but the Config.ini file for the gates must be set up differently.

Open you config file in which you have put in the LAN IP of the server. Now go to the Game Gate section of the file indicated byt this:

[GameGate]


Now find where it says GatePort=7205 ( or 7210 )

Now replace this port with the Game Gate port you assigned the LanIP3 in the server files. In this example I used 7215



So the line should now read: GatePort=7215

Originally posted by bubble17031988
 
Status
Not open for further replies.