/
sphere.ini
938 lines (721 loc) · 36.7 KB
/
sphere.ini
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
//****************************************************************************
// Copyright 2020 SphereServer development team
// Licensed under the Apache License, Version 2.0 (the "License").
// You may not use this file except in compliance with the License.
// You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
//****************************************************************************
///////////////////////////////////////////////////////////////
//////// General Information
///////////////////////////////////////////////////////////////
[SPHERE]
// Name of your Sphere shard
ServName=MyShard
// The IP of your server, this will be 127.0.0.1 almost always
ServIP=127.0.0.1
// The port of your server, this is 2593 by default
ServPort=2593
// REST API URL used to set server public IP on ServIP automatically at server startup
// Enable this if your local IP is behind NAT router/firewall and can't be reached directly
// NOTE: Do not include "http://", and make sure to use an trusted API that return only a plain-text string
// with the IP address (eg: diagnostic.opendns.com/myip, checkip.amazonaws.com, whatismyip.akamai.com)
//RestAPIPublicIP=
// Admin's contact email
AdminEmail=me@my.email.com
// Web page for this server
URL=www.myshard.com
// GMT offset, from -12 to +12 [London=0, EST=5, etc]
TimeZone=0
// Official staff language
Lang=English
// MySQL configuration
//MySQL=0
//MySQLHost=
//MySQLUser=
//MySQLPassword=
//MySQLDatabase=
///////////////////////////////////////////////////////////////
//////// File Locations
///////////////////////////////////////////////////////////////
// Directory where spheretables.scp is located, from there we will
// load any additional scripts
ScpFiles=scripts/
// Where your sphereworld.scp and spherechars.scp are located
WorldSave=save/
// Where your sphereaccu.scp and sphereacct.scp is located
AcctFiles=accounts/
// UO INSTALLATION - Note that if it's not set ( or commented ), sphere will scan windows registry to auto-detect it.
// If windows can't find the dir, then it must point to install's directory.
//
// For Old installations (client less than 7.0.20) this need: map0.mul, statics0.mul,
// staidx0.mul, multi.mul, multi.idx, hues.mul, tiledata.mul.
// Optional files: verdata.mul, mapX.mul/staticsX.mul/staidxX.mul for higher
// maps support (Malas, etc).
//
// For newer installs this need the same files in .uop format
//
// A full install folder is recommended as required files may change over time.
//MulFiles=mul/
// Where your log files will be saved by sphere
Log=logs/
// ***WARNING***
// These Map settings are required for a map to be enabled as of revision 1834.
// MAP0 is automatically loaded even if not present here as of revision 1836.
// Disabling one of theses map settings on a live shard will cause it to wipe that map from the saves.
// Remember to comment/uncomment associated sphere_mapX and .scp and sphere_map_pointsX.scp in spheretables.scp
//MapX=MaxX,MaxY,SectorSize,MapReadID,MapSendID
//MapX = Sets X to the given number, so .map X will send work over these settings
//MaxX = Sets Maximum X value for this map's size. Same for MaxY.
//SectorSize = Sets the size of sectors, in each server's tick all sectors for all maps are read in a loop, this should be taken in consideration for performance along with SectorSleep.
//MapReadID = Sets the mapX file to read from muls folder (This means which file will server read for walkchecks).
//MapSendID = Sets the mapX file to read for the client (this can be different than MapReadID but, obviously, not recomended for normal usage).
// Map of Felucca
//Map0=6144,4096,-1,0,0 //Old size
Map0=7168,4096,-1,0,0 //ML size
// Map of Trammel
//Map1=6144,4096,-1,1,1 //Old size
Map1=7168,4096,-1,1,1 //ML size
// Map of Ilshenar
Map2=2304,1600,-1,2,2
// Map of Malas
Map3=2560,2048,-1,3,3
// Map of Tokuno Islands
Map4=1448,1448,-1,4,4
// Map of Ter Mur
Map5=1280,4096,-1,5,5
// To enable the use of MapDif*.mul and StaDif*.mul files, set this to 1 (NOTE: these files were removed on clients 6+).
UseMapDiffs=0
///////////////////////////////////////////////////////////////
//////// World Save Information
///////////////////////////////////////////////////////////////
// How often for Sphere to save your world (minutes)
SavePeriod=20
// How many backup levels to keep (each level means 7 backups done for it, so 10*7=70 backup saves will be stored)
BackupLevels=10
// On would save in the background quietly over a longer period of time, and not interrupt the game
// Off would notify "World save has been initiated" and save faster, but pause the game momentarily
SaveBackground=0
// If EF_DYNAMICBACKSAVE is set: How many sectors should be saved per Backgroundsave-Tick?
SaveSectorsPerTick=1
// If EF_DYNAMICBACKSAVE is set: How many items should the dynamic backsave save at max per Backgroundsave-Tick?
SaveStepMaxComplexity=500
// Save NPC's skills that are bigger or equal to NPCSkillSave. If smaller, reset skill to 0
// NPCSkillSave=10
///////////////////////////////////////////////////////////////
//////// Account Management
///////////////////////////////////////////////////////////////
// Automatically create accounts when client try to login on nonexistent account
AutoAccountCreation=0
// Store password hashed with MD5
Md5Passwords=0
// Default number of chars allowed per account (maximum value is 7)
MaxCharsPerAccount=5
// Min time (in seconds) for a char to exist before delete allowed
MinCharDeleteTime=7*24*60*60
// Max wrong password tries on client login screen before temporary ban client IP (0 = disabled)
ClientLoginMaxTries=10
// Duration (in minutes) of temporary ban to client IPs that reach max wrong password tries
ClientLoginTempBan=3
///////////////////////////////////////////////////////////////
//////// Client Management
///////////////////////////////////////////////////////////////
// What client protocol version used
// Comment out the ClientVersion line to allow any client that is supported.
//ClientVersion=2.0.3
// Set this to 1 to allow login to encrypted clients
UseCrypt=1
// Set this to 1 to allow login to unencrypted clients
UseNoCrypt=0
// Maximum total open connections to server (0 = allow only local connections / 1 = allow only GM accounts)
ClientMax=256
// Maximum open connections to server per IP
ClientMaxIP=16
// Maximum total (not-in-game) connections to server
ConnectingMax=32
// Maximum total simultaneous (not-in-game) connections to server per IP
ConnectingMaxIp=8
// How long logged out clients linger in seconds
ClientLinger=300
// Walk limiting code: buffer size (in tenths of second)
WalkBuffer=75
// Walk limiting code: regen speed (%)
WalkRegen=25
// Only commands issued by this plevel and higher will be logged
CommandLog=0
// Prefix for ingame commands
CommandPrefix=.
// Set from 0 - 7 to set what the default plevel is to use commands.
DefaultCommandLevel=7
// Function to call if client is executing a command to override the default.
//CommandTrigger=f_oncommand
// Use the built in http server
// 0 - disable http server and webpage generation
// 1 - disable http server and enable webpage generation
// 2 - enable http server and webpage generation (default)
UseHttp=2
// Use the OSI AuthID to avoid possible hijack to game server.
UseAuthID=1
// Set account RESDISP automatically based on player client version
AutoResDisp=1
// How often send my hits updates to visible clients (in seconds)
//HitsUpdateRate=1
///////////////////////////////////////////////////////////////
//////// Game Mechanics
///////////////////////////////////////////////////////////////
// Maximum distance to hear char whispering (client shortcut: ": msg")
//DistanceWhisper=1
// Maximum distance to hear char yelling (client shortcut: "! msg")
//DistanceYell=36
// Do not allow entering under roof being on horse?
MountHeight=0
// Archery does not work if too close (0 = not checked)
ArcheryMinDist=2
// Maximum Distance for Archery
ArcheryMaxDist=15
// Stamina to lose at each step when walking while overweight (NOTE: value is also increased by 1 at each 25 stones exceeded, and divided by 3 on mounted chars)
StaminaLossAtWeight=5
// Stamina penalty % to apply over StaminaLossAtWeight when running (0 = no penalty)
RunningPenalty=100
// Are house and boat keys newbied automatically
AutoNewbieKeys=1
// Maximum number of items allowed in bank
BankMaxItems=1000
// Maximum weight in stones allowed in bank (-1 = unlimited)
BankMaxWeight=1000
// Maximum weight in stones allowed in main backpack (-1 = unlimited)
BackpackMaxWeight=550
// If 1 vendors will take gold only from backpack
PayFromPackOnly=0
// Disable weather effects?
NoWeather=1
// Default light level in dungeons
DungeonLight=27
// Day light level 0-30
LightDay=0
// Night light level 0-30
LightNight=25
// Allow manual sector light override?
//AllowLightOverride=1
// Time (in minutes) to regen wool on sheep NPCs
WoolGrowthTime=30
// Suppress player speech with 75% of capital letters
SuppressCapitals=0
// Extra combat flags to control the fight (default:0, 0.55i compatible)
// COMBATF_NODIRCHANGE 00001 // Not rotate player when fighting (like was in 0.51a)
// COMBATF_FACECOMBAT 00002 // Allow faced combat only (recommended)
// COMBATF_PREHIT 00004 // Allow prehit for close combat. first hit is instant (delay 0.1sec)
// COMBATF_ELEMENTAL_ENGINE 00008 // Use DAM*/RES* to split damage/resist into Physical/Fire/Cold/Poison/Energy (AOS) instead use old AR (pre-AOS)
// COMBATF_MAXITEMDURABILITY 00010 // Make damageable items get destroyed when lose max durability instead current durability
// COMBATF_DCLICKSELF_UNMOUNTS 00020 // Unmount horse when dclicking self while in warmode
// COMBATF_ALLOWHITFROMSHIP 00040 // Allow attacking opponents from ships
// COMBATF_NOPETDESERT 00080 // Allow pet owner attack own pet without make it desert its owner
// COMBATF_ARCHERYCANMOVE 00100 // Allow firing bow while moving
// COMBATF_STAYINRANGE 00200 // Abort attack swing when out of range instead of waiting to come back in range
// COMBATF_ATTACKONNOTICE 00400 // Make target instantly attack back when notice someone trying to attack it
// COMBATF_NPC_NOATTACKMSG 00800 // Disable *is attacking* message on NPCs
// COMBATF_STACKARMOR 01000 // If a region is covered by more than one armor part, all AR will count
// COMBATF_NOPOISONHIT 02000 // Disables old (55i like) poisoning style (0~100% chance based on Poisoning skill for monsters, or 50% chance for poisoned weapons)
//CombatFlags=0
// Delay (in tenths of second) to start next swing on Archery skill after the char stop moving (NOTE: this is only used when COMBATF_ARCHERYCANMOVE is disabled)
// Recommended values by era: pre-AOS=10, AOS=5, SE=2
CombatArcheryMovementDelay=10
// Damage formula to use on physical combat
// 0 = Sphere custom
// 1 = pre-AOS
// 2 = AOS
CombatDamageEra=0
// Hit Chance formula to use on physical combat
// 0 = Sphere custom // Not compatible with Hit Chance Increase property
// 1 = pre-AOS // Not compatible with Hit Chance Increase property
// 2 = AOS
CombatHitChanceEra=0
// Swing Speed formula to use on physical combat
// 0 = Sphere custom // Recommended SpeedScaleFactor = 15000. Old Sphere 0.55 custom formula. Not compatible with Swing Speed Increase property, and uses DEX instead STAM
// 1 = pre-AOS // Recommended SpeedScaleFactor = 15000. Not compatible with Swing Speed Increase property
// 2 = AOS // Recommended SpeedScaleFactor = 40000
// 3 = SE // Recommended SpeedScaleFactor = 80000
// 4 = ML // Doesn't use SpeedScaleFactor. Only compatible with ML speed format (eg. 0.25 ~ 5.00 seconds instead 0 ~ 50), uncomment TAG.OVERRIDE.SPEED on all weapons to enable ML speed format
CombatSpeedEra=0
// Speed scale factor for weapons
SpeedScaleFactor=15000
// Extra magic flags to control magic/magery behaviour (default:0, 0.55i compatible)
// MAGICF_NODIRCHANGE 00001 // Not rotate player when casting/targeting
// MAGICF_PRECAST 00002 // Precasting (cast spell before target prompt)
// MAGICF_IGNOREAR 00004 // Magic damage ignore ar
// MAGICF_CANHARMSELF 00008 // Magic can do damage on self
// MAGICF_STACKSTATS 00010 // Different stat spells don't cancel each other out
// MAGICF_FREEZEONCAST 00020 // No movement whilst casting
// MAGICF_SUMMONWALKCHECK 00040 // Summoned creatures should be able to walk on the target location (e.g. water creatures to be summoned on water)
// MAGICF_NOFIELDSOVERWALLS 00080 // Field spells cannot cross over blocking objects
// MAGICF_NOANIM 00100 // Auto SPELLFLAG_NO_ANIM in every spell
// MAGICF_OSIFORMULAS 00200 // Calculate spell damage and duration based on OSI formulas
// MAGICF_NOCASTFROZENHANDS 00400 // Can't cast spells if got paralyzed holding something on hands
// MAGICF_POLYMORPHSTATS 00800 // Polymorph spells give out stats based on base chars (old behaviour backwards)
// MAGICF_OVERRIDEFIELDS 01000 // Prevent cast multiple field spells on the same tile, making the new field tile remove the previous field
//MagicFlags=0
// Max amount of each Stat gained through Polymorph spell. This affects separatelly to each stat.
MaxPolyStats=150
// Racial traits flags
// RACIALF_HUMAN_STRONGBACK 0001 // Increase carrying capacity (+60 stones of weight)
// RACIALF_HUMAN_TOUGH 0002 // Regenerate hitpoints faster (+2 Hit Point Regeneration)
// RACIALF_HUMAN_WORKHORSE 0004 // Find more resources while gathering hides, ore and lumber
// RACIALF_HUMAN_JACKOFTRADES 0008 // Skill calculations always consider 20.0 minimum ability on untrained skills
// RACIALF_ELF_NIGHTSIGHT 0010 // Permanent night sight effect
// RACIALF_ELF_DIFFTRACK 0020 // Increase difficulty to be tracked while hidden/invisible
// RACIALF_ELF_WISDOM 0040 // Permanent max mana bonus (+20 Mana Increase)
// RACIALF_GARG_FLY 0080 // Enable gargoyle fly ability (FEATURE_AOS_UPDATE_B is required to enable gargoyle ability book)
// RACIALF_GARG_BERSERK 0100 // Increase ferocity in situations of danger (15% Damage Increase + 3% Spell Damage Increase for each 20hp lost)
// RACIALF_GARG_DEADLYAIM 0200 // Throwing calculations always consider 20.0 minimum ability when untrained
// RACIALF_GARG_MYSTICINSIGHT 0400 // Mysticism calculations always consider 30.0 minimum ability when untrained
RacialFlags=0
// Reveal flags related to Invisibility spell
// REVEALF_DETECTINGHIDDEN 001 // Reveal when someone use Detecting Hidden skill
// REVEALF_LOOTINGSELF 002 // Reveal when loot self bodies (NOTE: chars hidden by Hiding skill will be always revealed by default)
// REVEALF_LOOTINGOTHERS 004 // Reveal when loot others bodies (NOTE: chars hidden by Hiding skill will be always revealed by default)
// REVEALF_SPEAK 008 // Reveal when speak
// REVEALF_SPELLCAST 010 // Reveal when cast spells
RevealFlags=01|02|04|08|010
// Time (in seconds) for a char to remember his attacker, used by ATTACKER.x property (default = 300)
AttackerTimeout=300
// Time (in seconds) for a player to choose a target when casting spells (0 = no timeout)
SpellTimeout=0
// Zero point for sextant coordinates counting (comment this line out if you are not using ML maps)
ZeroPoint=1323,1624,0
// How far from land i can be to take off a ship
//MaxShipPlankTeleport=18
// Enable death screen animation on classic clients (on enhanced clients this is always enabled)
PacketDeathAnimation=1
// List of static chat channels to create on server startup
ChatStaticChannels=General, Help, Trade, Looking For Group
// Chat flags for both new (clients >= 7.0.4.1) and old (clients < 7.0.4.1) chat system
// CHATF_AUTOJOIN 001 // Auto join first static channel available (new chat system: join after client login / old chat system: join after open chat window)
// CHATF_CHANNELCREATION 002 // Enable channel creation
// CHATF_CHANNELMODERATION 004 // Enable channel moderation (old chat system only)
// CHATF_CUSTOMNAMES 008 // Enable custom name selection when open chat window for the first time (old chat system only)
// CHATF_GLOBALCHAT 010 // Enable global chat system on clients >= 7.0.62.2 (INCOMPLETE)
ChatFlags=01|02|04|08
///////////////////////////////////////////////////////////////
//////// NPC/Item/Player Management
///////////////////////////////////////////////////////////////
// Distance in tiles before an NPC that's wandered too far from it's home will teleport back
LostNPCTeleport=50
// Whether PCs get a resurrection robe when they get resurrected.
NoResRobe=0
// Time (in minutes) for a NPC corpse decay
CorpseNPCDecay=7
// Time (in minutes) for a player corpse decay
CorpsePlayerDecay=7
// Ghosts are not able to see and hear living players and creatures (0=disabled, 1=only npcs, 2=both npcs and players)
DeadCannotSeeLiving=0
// At this Spirit Speak skill level players can understand ghosts speech instead hear 'oOOoO ooO'
MediumCanHearGhosts=1000
// Time (in minutes) for a item decay
DecayTimer=30
// Show [NPC] tags over chars
CharTags=0
// Show job title on vendor names (NOTE: enhanced clients require vendor trade title to make buy/sell gump work, so don't disable this setting if enhanced client is allowed on server)
VendorTradeTitle=1
// Flip dropped items
FlipDroppedItems=0
// Max amount allowed for stackable items (can't be higher than 65535)
ItemsMaxAmount=60000
// Monsters run when scared of death
MonsterFear=0
// Monsters may fight each other
MonsterFight=0
// Percent setting of the all NPC move rate, default 100
MoveRate=100
// Do players receive sounds
GenericSounds=1
// Max number of items to sell to one person at once
VendorMaxSell=255
// Cost (in gp) of each 0.1 skill trained on NPCs
NPCTrainCost=1
// Max level npc trainers can go
NPCTrainMax=420
// Percent of own ability npcs can train to
NPCTrainPercent=30
// NPC will not be addressed as "Lord" or such if this is set
NPCNoFameTitle=1
// Max level of skill trainable on dummies, archery butte ecc..
SkillPracticeMax=300
// Max skill player's will start with on skills they haven't chosen during
// character creation
MaxBaseSkill=200
// Time (in seconds) for hitpoint regeneration (0 = no regen)
Regen0=40
// Time (in seconds) for mana regeneration (0 = no regen)
Regen1=20
// Time (in seconds) for stamina regeneration (0 = no regen)
Regen2=10
// Time (in seconds) for food decay (0 = no regen)
// 60*60*24 = 1 day of real life time
Regen3=60*60*24
// Speech block associated to players
SpeechSelf=spk_player
// Speech block associated to pets
SpeechPet=spk_pet
// Events related to all NPCs
//EventsPet=your_event
// Events related to all players
//EventsPlayer=your_event
// Events related to all regions
//EventsRegion=your_event
// Events related to all items
//EventsItem=your_event
// When player skills/stats goes this times more than skillclass allowed, drop
// them to skillclass level. Setting this to 0 disables the action.
OverSkillMultiply=2
// NPC AI settings
// NPC_AI_PATH 0001 Enable advanced NPC pathfinding engine (this can significantly increase server CPU usage)
// NPC_AI_FOOD 0002 Enable basic NPC food search (objects + grass) when hungry
// NPC_AI_EXTRA 0004 Make NPCs human (brain_human) equip/unequip weapons on combat or light sources at night
// NPC_AI_ALWAYSINT 0008 Make NPC_AI_PATH consider all NPCs as smart as possible to find better paths
// NPC_AI_INTFOOD 0010 Enable advanced NPC food search (more intelligent and trusworthy) when hungry
// NPC_AI_COMBAT 0040 Make NPCs cast good spells in his friends while in combat
// NPC_AI_LOOTING 0100 Make NPCs loot nearby items and corpses
// NPC_AI_MOVEOBSTACLES 0200 Make NPCs with CAN=mt_usehands able to move items blocking its way
// NPC_AI_PERSISTENTPATH 0400 Make NPCs try to follow its target even when it is unreachable instead give up
// NPC_AI_THREAT 0800 Make NPCs select combat target based on highest threat level (damage done) instead closest distance
//NPCAI=0
///////////////////////////////////////////////////////////////
//////// Crime/Murder/Karma/Fame/Guard Settings
///////////////////////////////////////////////////////////////
// Lowest karma level a character can achieve
MinKarma=-10000
// Highest karma level a character can achieve
MaxKarma=10000
// Highest fame level a character can achieve
MaxFame=10000
// Karma when player goes from good to neutral (from -10000 to 10000)
PlayerNeutral=-2000
// Karma when player goes from neutral to evil (from -10000 to 10000)
PlayerEvil=-8000
// How many minutes are criminals flagged for
CriminalTimer=3
// Chance to get flagged criminal when using Snooping skill (0% - 100%)
SnoopCriminal=100
// Set if opening a container in a trade window needs to be open using Snooping skill or not (1=true,0=false)
TradeWindowSnooping=1
// Time (in seconds) to decay a murder count (default 8*60*60 is 8 hours)
MurderDecayTime=8*60*60
// Amount of murders before we get title
MurderMinCount=1
// Looting or carving a blue player is a crime
LootingIsaCrime=1
// Attacking is considered a crime (even without hit)
AttackingIsaCrime=1
// Flag players criminal for helping criminals?
HelpingCriminalsIsaCrime=1
// How long do guards linger about in minutes
GuardLinger=3
// Will guards kill instantly or follow normal combat rules
GuardsInstantKill=1
// Will guards attack Murderers and Criminals (1) or criminals only (0)
GuardsOnMurderers=1
// Limits the MAXHITS/MAXMANA/MAXSTAM changes
// STAT_FLAG_NORMAL 00 // MAX* status allowed (default)
// STAT_FLAG_DENYMAX 01 // MAX* denied
// STAT_FLAG_DENYMAXP 02 // .. for players
// STAT_FLAG_DENYMAXN 04 // .. for npcs
StatsFlags=0
// Uses the new LoS algorithm
// ADVANCEDLOS_DISABLED 00 // Disabled, use the old method
// ADVANCEDLOS_PLAYER 01 // Enabled only for players
// ADVANCEDLOS_NPC 02 // Enabled only for NPCs
AdvancedLos=0
// Default color settings for characters names (notoriety)
//ColorNotoGood=059 // blue
//ColorNotoGuildSame=03f // green (ally)
//ColorNotoNeutral=03b2 // grey (can be attacked)
//ColorNotoCriminal=03b2 // grey (criminal)
//ColorNotoGuildWar=090 // orange (enemy guild)
//ColorNotoEvil=022 // red
//ColorNotoInvul=035 // yellow
//ColorNotoInvulGameMaster=0b // purple
//ColorNotoDefault=03b2 // grey (if not any other)
ColorInvis=0 // 04001 = transparent color, 0 = default
ColorInvisSpell=0 // 04001 = transparent color, 0 = default (This one is for s_invisibility spell, this includes the invis potion.)
ColorHidden=0 // 04001 = transparent color, 0 = default
// Which notoriety flags do pets inherit from their masters? (default 0)
// Set flags to indicate which notoriety statuses a pet can inherit from its owner.
// NotoGood 001 // blue
// NotoGuildSame 002 // green (ally)
// NotoNeutral 004 // grey (can be attacked)
// NotoCriminal 008 // grey (criminal)
// NotoGuildWar 010 // orange (enemy guild)
// NotoEvil 020 // red
// NotoInvul 040 // yellow
// e.g. "07a" will show pets as criminal/warring/evil/allied/invul when their master has one of these statuses, regardless of the pet's true notoriety.
PetsInheritNotoriety=0
// Time (in seconds) to cache character on notoriety list (0 = no timeout)
NotoTimeout=30
///////////////////////////////////////////////////////////////
//////// Server Mechanics
///////////////////////////////////////////////////////////////
// Experimental flags
// Flags for options that affect server behaviour and which might affect compatibility
// See the revisions.txt file for more details on this
// EF_NoDiagonalCheckLOS 000001 // Disable LOS checks on diagonal directions
// EF_DynamicBackgroundSave 000002
// EF_ItemStacking 000004 // Enable item stacking feature when drop items on ground
// EF_ItemStackDrop 000008 // The item stack will drop when an item got removed from the stack
// EF_FastWalkPrevention 000010 // Use new client fastwalk prevention instead old WalkBuffer/WalkRegen checks. To avoid false-positive results, make sure that your OS/CPU/BIOS have HPET (High Precision Event Timer) feature enabled
// EF_Intrinsic_Locals 000020 // Disables the needing of 'local.', 'tag.', etc. Be aware of not creating variables with the same name of already-existing functions
// EF_Item_Strict_Comparison 000040 // Don't consider log/board and leather/hide as the same resource type
// EF_AllowTelnetPacketFilter 000200 // Enable packet filtering for telnet connections as well
// EF_Script_Profiler 000400 // Record all functions/triggers execution time statistics (it can be viewed pressing P on console)
// EF_UsePingServer 008000 // Enable the experimental Ping Server (for showing pings on the server list, uses UDP port 12000)
// EF_FixCanSeeInClosedConts 020000 // Change CANSEE to return 0 for items inside containers that a client hasn't opened
Experimental=0
// Option flags
// Flags for options that affect server behaviour but not compatibility
// See the revisions.txt file for more details on this
// OF_NoDClickTarget 000001 // Weapons won't open a target in the cursor after DClicking them for equip.
// OF_NoSmoothSailing 000002 // Disable boat smooth sailing feature on clients >= 7.0.9.0
// OF_ScaleDamageByDurability 000004 // Weapons/armors will lose DAM/AR effect based on it's current durability (pre-AOS)
// OF_Command_Sysmsgs 000008 // Shows status of hearall, allshow, allmove... commands after toggling them
// OF_PetSlots 000010 // Enable AOS pet follower slots on chars. If enabled, all players must have MAXFOLLOWER property set (default=5)
// OF_OSIMultiSight 000020 // Only send items inside multis when the player enter on the multi area
// OF_Items_AutoName 000040 // Auto rename potions/scrolls to match its spell name
// OF_FileCommands 000080 // Enable the usage of FILE commands
// OF_NoItemNaming 000100 // Disable the DEFMSG."grandmaster_mark" in crafted items
// OF_NoHouseMuteSpeech 000200 // Players outside multis won't hear what is told inside
// OF_MapBoundarySailing 000800 // Boats will move to the other side of the map when reach map boundary
// OF_Flood_Protection 001000 // Prevent the server send messages to client if its the same message as the last already sent
// OF_Buffs 002000 // Enable the buff/debuff bar on ML clients >= 5.0.2b
// OF_NoPrefix 004000 // Don't show "a" and "an" prefix on item names
// OF_DyeType 008000 // Allow use i_dye on all items with t_dye_vat typedef instead only on i_dye_tub itemdef
// OF_DrinkIsFood 010000 // Typedef t_drink will increase food level like t_food
// OF_NoDClickTurn 020000 // Don't turn the player when DClick or targ an item
OptionFlags=01|08|020|0200|0800|02000|020000
// T2A expansion features
// FEATURE_T2A_UPDATE 01 // Monster and Lost lands
// FEATURE_T2A_CHAT 02 // In game chat
FeatureT2A=01|02
// LBR expansion features
// FEATURE_LBR_UPDATE 01 // Lbr Monsters
// FEATURE_LBR_SOUND 02 // MP3 instead of MIDI
FeatureLBR=0
// AOS expansion features
// FEATURE_AOS_UPDATE_A 01 // AOS Monsters, Map
// FEATURE_AOS_UPDATE_B 02 // Tooltip, Fightbook, Necro/paladin on creation, Single/Six char selection screen, Skills, Newer spellbook support
// FEATURE_AOS_POPUP 04 // PopUp Menus
// FEATURE_AOS_DAMAGE 08 // Show damage values above char head when deal/receive any damage
FeatureAOS=0
// SE expansion features
// FEATURE_SE_UPDATE 01 // Basic SE features
// FEATURE_SE_NINJASAM 02 // Ninja and Samurai
FeatureSE=0
// ML expansion features
// FEATURE_ML_UPDATE 01 // Basic ML features
FeatureML=0
// KR expansion features (still not complete but usable)
// FEATURE_KR_UPDATE 01 // Basic KR features
FeatureKR=0
// SA expansion features
// FEATURE_SA_UPDATE 01 // Unlocks gargoyle character creation and housing items
// FEATURE_SA_MOVEMENT 02 // Activates new movement packets (not good)
FeatureSA=0
// TOL expansion features
// FEATURE_TOL_UPDATE 01 // Basic TOL features
// FEATURE_TOL_VIRTUALGOLD 02 // Use virtual gold/platinum currency instead default 'physical' gold
FeatureTOL=0
// Misc expansion features
// FEATURE_EXTRA_CRYSTAL 001 // Unlocks ML crystal/shadow items on house design
// FEATURE_EXTRA_GOTHIC 002 // Unlocks SA gothic items on house design
// FEATURE_EXTRA_RUSTIC 004 // Unlocks SA rustic items on house design
// FEATURE_EXTRA_JUNGLE 008 // Unlocks TOL jungle items on house design
// FEATURE_EXTRA_SHADOWGUARD 010 // Unlocks TOL shadowguard items on house design
// FEATURE_EXTRA_ROLEPLAYFACES 020 // Unlocks extra roleplay face styles on character creation (enhanced clients only)
FeatureExtra=0
// In game effects to turn on and off
// Messages echoed to the server console while in debug mode
// DEBUGF_NPC_EMOTE 00001
// DEBUGF_ADVANCE_STATS 00002
// DEBUGF_EXP 00200 // experience gain/loss
// DEBUGF_LEVEL 00400 // experience level changes
// DEBUGF_SCRIPTS 00800 // debug flag for scripts
// DEBUGF_LOS 01000 // debug flag for AdvancedLOS
// DEBUGF_WALK 02000 // debug flag for new walking check stuff
// DEBUGF_PACKETS 04000 // log packets to file
// DEBUGF_NETWORK 08000 // debug flags for networking
//DebugFlags=0
// Allow rapid Buy/Sell through Buy/Sell agent
AllowBuySellAgent=0
// Secure mode attempts to ignore errors, protect from accidently shutdowns
Secure=1
// Value from 1 to 32, set sectors inactive when unused to conserve resources, 0 disables Sleep (NOT recommended).
SectorSleep=10
// Always force a full garbage collection on save
ForceGarbageCollect=1
// Time (in seconds) before restarting when server appears hung
FreezeRestartTime=60
// Length of the game world minute in real world in seconds
GameMinuteLength=20
// Bit Mask of the subjects you want to log when logging is on
// LOGM_ACCOUNTS 000080 // account login/operations
// LOGM_INIT 000100 // start up messages
// LOGM_SAVE 000200 // world save
// LOGM_CLIENTS_LOG 000400 // all clients as they log in and out
// LOGM_GM_PAGE 000800 // player gm pages
// LOGM_PLAYER_SPEAK 001000 // all that the players say
// LOGM_GM_CMDS 002000 // all gm commands
// LOGM_CHEAT 004000 // possible cheat attempts
// LOGM_KILLS 008000 // player combat results
// LOGM_HTTP 010000 // http protocol operations
LogMask=080|0100|0200|0400|0800|01000|02000|04000|08000|010000
// Time (in seconds) to cache map data
MapCacheTime=120
// Max NPC chars for a sector to prevent lag
MaxComplexity=32
// Amount of items in one tile so start showing "too many items here"
MaxItemComplexity=25
// Amount of items in one sector to start showing "x items too complex"
MaxSectorComplexity=1024
// Limit the number of cycles the while/for loop can proceed. Setting this to
// zero disables the limitation
MaxLoopTimes=0
// Amount of minutes to call f_onserver_timer (0 disables this, default)
TimerCall=0
// Should sphere record the time it takes to do actions like treating npcs, scripts, clients and such?
// Can be viewed by right clicking the mouse on sphere screen.
Profile=0
///////////////////////////////////////////////////////////////
//////// Magic/Effects Settings
///////////////////////////////////////////////////////////////
// Allow casting while equipped
EquippedCast=1
// Words of power for player using magic
WOPPlayer=1
// Words of power for staff using magic
WOPStaff=0
// Words of power font
//WOPFont=3
// Words of power color (0 = inherit color from char SPEECHCOLOR value)
//WOPColor=03b2
// Reagents lost if magic fails
ReagentLossFail=0
// Magic requires reagents
ReagentsRequired=0
// What % of hitpoints players will resurrect with
HitPointPercentOnRez=10
// How many % of hits will the character loose when starving. 0 disables
//HitsHungerLoss=0
// Amount of skill of lock picking needed to unlock a magically locked door
MagicUnlockDoor=900
// Teleport effect for GMs and players. Setting 0 disables the effect
TeleportEffectNPC=0376a
TeleportEffectPlayers=03728
TeleportEffectStaff=03709
TeleportSoundNPC=01fe
TeleportSoundPlayers=01fe
TeleportSoundStaff=01f3
///////////////////////////////////////////////////////////////
//////// Experience and Level system
///////////////////////////////////////////////////////////////
// Enable experience system
//ExperienceSystem=0
// Experience system settings
// 001 Gain experience in combat
// 002 Gain experience in crafts
// 004 Allow experience to go down
// 008 Limit experience decrease by a range within current level
// 010 Auto-init EXP/LEVEL for NPCs if not set in @Create
//ExperienceMode=0
// If combat experience gain is allowed, use these percents for gaining exp in
// Player versus Monster and Player versus Player combats. Value 0 disables gain.
//ExperienceKoefPVM=100
//ExperienceKoefPVP=100
// Enable levels system (as a part of experience system)
//LevelSystem=0
// Level system settings
// 0 = Linear // Level up at each LevelNextAt exp
// 1 = Double // Level up at each (LevelNextAt * (level + 1)) exp
//LevelMode=1
// Amount of experience to raise to the next level
//LevelNextAt=0
///////////////////////////////////////////////////////////////
//////// Network Behaviour
///////////////////////////////////////////////////////////////
// WARNING: These are advanced settings that should not normally be changed from the recommended default values!
// Disconnect inactive socket in x min
DeadSocketTime=5
// Maximum number of packets to send per tick
MaxPacketsPerTick=50
// Number of connections a client can make before being blocked
MaxPings=15
// Maximum number of packets before lowering packet priorities (0 for no limit)
MaxQueueSize=75
// Maximum number of bytes to send per tick (also governs maximum size of outgoing packets)
MaxSizePerTick=18000
// Time (in seconds) to remember previous connection history
NetTTL=300
// Prioritize outgoing packets (provides a smoother experience in crowded areas)
UsePacketPriority=0
// Enables an additional buffer for outgoing data
UseExtraBuffer=1
// Tooltip modes
// 0 = Always send full tooltip
// 1 = Wait for client to request full tooltip
TooltipMode=1
// Time (in seconds) to cache tooltip data
TooltipCache=30
///////////////////////////////////////////////////////////////
//////// Third-Party Tools Support
///////////////////////////////////////////////////////////////
// Axis / TNG
// Path where STRIP console command will strip an index of all script templates to use with Axis / TNG
// on Windows the path format is "\foo\bar\"
// on Linux the path format is "/foo/bar/"
StripPath=scripts/web/
// ConnectUO
// Enable or disable the response to ConnectUO pings
// If enabled, it returns: Items, Chars, Clients and Memory
CUOStatus=1
// UOGateway
// Enable or disable the response to UOGateway pings
// If enabled, it returns: Name, Age, Clients, Items, Chars and Memory
UOGStatus=1
[RESOURCELIST]
ITEMDEF
CHARDEF
///////////////////////////////////////////////////////////////
//////// Webpage Settings
///////////////////////////////////////////////////////////////
// Note, that you can catch error codes by creating sphere404.htm and so on
// for all HTTP error codes sphere support.
[WEBPAGE 1]
// Determines what html file is used as base for the status page
WebPageSrc=scripts/web/spherestatusbase.html
// Determines where the status page is saved
WebPageFile=scripts/web/status.html
// In seconds, how often the status file is updated
WebPageUpdate=60
// Required PLevel to view this page (0 = anyone, 6 = admins only)
PLevel=0
///////////////////////////////////////////////////////////////
//////// Abuse Control
///////////////////////////////////////////////////////////////
// Block these ips from the server
// 255 is a wildcard, so 255.255.255.255 disables anyone connecting.
[BlockIP]
//123.34.45.56
//123.45.56.78
///////////////////////////////////////////////////////////////
//////// Connection Information
///////////////////////////////////////////////////////////////
//First line should be the name of your shard (this is what people see when they connect)
//Second line should be the IP of your shard (this is almost always 127.0.0.1)
//Third line should be the port of your shard (this should be whatever ServPort is set to)
//Uncomment next 3 lines below this if you have a router
//First line should be a name different than your shard name above this
//Second line should be your real/external IP (www.whatismyip.com)
//Third line should be the shard port (this should be whatever ServPort is set to)
[SERVERS]
MyShard
127.0.0.1
2593
//External
//my.ip.goes.here
//2593
[EOF]