We're looking to finally do a release of 097 and begin doing 097.x builds.
We have the release candidates going and right now want to collect any bugs that prevent us from doing an official release so we can begin working on 098.
If you post a bug, please provide details with how to reproduce it, to speed up the fixing.
We'll prioritize the ones in this thread I guess and take it as it goes.
Bring out your bugs
Moderator: POL Developer
- MontuZ
- Forum Regular
- Posts: 338
- Joined: Fri Feb 10, 2006 8:08 am
- Location: Myrtle Beach, South Carolina
Re: Bring out your bugs
*Loading two POL's can cause corruption to accounts.txt/accounts.bak(Maybe others?). I only had two open for a little less than a minute and information got wiped from various accounts(Only on accounts that people logged into the same time two POL's are open using the same data of course.).
*If your computer shuts down(blue screen/power outage) even if POL isn't in the middle of saving; accounts.txt/accounts.bak can become corrupted(Usually entire sections are wiped.).
*http://forums.polserver.com/viewtopic.p ... &sk=t&sd=a
*http://forums.polserver.com/viewtopic.p ... &sk=t&sd=a
POL doesn't hold accounts.txt/accounts.bak into memory it seems(Like all the others?). I've had to warp numerous times due to accounts.txt/.bak corruption. (Nearly every time there's a storm in my area the fucking power goes out, lol.)
*If your computer shuts down(blue screen/power outage) even if POL isn't in the middle of saving; accounts.txt/accounts.bak can become corrupted(Usually entire sections are wiped.).
*http://forums.polserver.com/viewtopic.p ... &sk=t&sd=a
*http://forums.polserver.com/viewtopic.p ... &sk=t&sd=a
POL doesn't hold accounts.txt/accounts.bak into memory it seems(Like all the others?). I've had to warp numerous times due to accounts.txt/.bak corruption. (Nearly every time there's a storm in my area the fucking power goes out, lol.)
Re: Bring out your bugs
http://forums.polserver.com/viewtopic.php?f=11&t=2061
'bad allocation' errors
'bad allocation' errors
Re: Bring out your bugs
By the way - here is an up-to-date corechanges.txt
Code: Select all
-- POL097 --
08-16 Turley:
Changed : Character.connected startup value is 0
Added : Accountname string struct member "account" added to
pre-character selection Packets
08-15 Austin:
Added : Setting for servspecopt.cfg 'ScriptedAttackChecks' Default is disabled.
If enabled, the combat hook must check distance, line of sight, visibility
and if both combatants are alive.
07-29 Mehdorn:
Changed : uo::ReserveItem() will return
1 - Item has been reserved by me.
2 - Item was already reserved by me.
Error - Item is in use by someone else, or invalid Parameter.
07-08 Turley:
Changed : Status of other player (e.g. WarMode) will be shown correctly.
Added : Character.MoveMode member. Returns the MoveMode like given in NPCDesc.
Added : Item.Stackable member. Returns 0/1 based on stackability of Item.
uo::IsStackable(). Returns 0/1 if both Items can be stacked together.
Changed : Random Number Generator based on "Numerical Recipes in C 3rd Edition" will be used.
Added : util::RandomIntMinMax(). Return Random Value between...
07-26 VeNdOr:
Added : ApplyDamage now returns the real damage applied to the mobile.
05-28 VeNdOr:
Fixed : In some conditions, when the AuxScript exited, the AuxConnection didn't close.
05-23 Austin:
Fixed : If MinCmdlevelToLogin was used, characters could not be created.
POL will now check the account's default command level.
Added : servspecopt.cfg CoreHitSounds default: disabled
If disabled, scripts will handle sounds when a mobile is damaged.
If enabled, will work as it did before - but for npcs will use a DamagedSound
property from its config file.
02-9 Shinigami:
Fixed : Bug in Unpack() with zero length Strings.
02-8 Austin:
Added : CharacterSlots setting in pol.cfg. Defaults to 5. This is to set the maximum number
of slots an account can hold - to support clients that support 6 slots.
02-5 Austin:
Changed : The freemove privilege will also allow targetting to be done when frozen / paralyzed.
02-2 Madman:
Changed : Trying to move when Paralyzed will no longer spam your screen with
"You are frozen and cannot move."
12-9 Shinigami:
Fixed : Bug in Unpack() with Strings in Arrays, Dictionaries etc. in case that
the String is not the last element.
11-5 MuadDib
Added : Character.Cursor member. Returns 0/1 based on if character has an active
cursor.
Character.Gump member. Returns 0/1 based on if character has any active
gumps.
Character.Prompt member. Returns 0/1 based on if character has any active
unicode and/or normal text prompt gumps open.
10-20 MuadDib
Removed : Basic::Left and Basic::Mid. These functions reported not working since
095, and code was set to not use them anyway. Val[int, int] works anyway
and does what these functions do.
Added : Basic::SubStr(string, start, length). Replace for left/right/mid. Works
same way as virtual SubStrings in eScript (val[int, int]). This is for
those who like the func methods instead.
Added : Math::Min and Math::Max functions.
10-11 MuadDib
Fixed : Changing realms with Season info would reset light levels until next
light update in that realm. Send Season in core now sends light level
whenever season info is sent to the client (Client issue). Also fixes
an issue with seasons and 1.x clients.
Added : servspecopt.cfg::DefaultLightLevel=ushort. New default light level
setting for regions with no light level defined in regions cfg files.
Default is 10. Replaced arbitrary setting in core.
Fixed : Exploit in Create Character system.
10-10 MuadDib
Fixed : uo::CreateAccount() will no longer accept non-alphanumeric characters
for account name, will return error stating such if one is used. Also
now passwords can contain all characters except whitespace and control
characters. Please test heavily. I tested for the commons via script
already.
10-04 MuadDib
Changed : NPC::IsLegalMove() will now explicitly check for a MOVE in the given
direction, regardless of NPC's current Facing. Will stop AI's that
have NPC's using Bounding Boxes that walk out of the box by checking
legal move, turning, then moving 1 step. Please be sure to check
your AI's that use bounding boxes, to see if you coded that way!
This check is for step movement. Facing should only be blockable if
frozen, paralyzed, or stamina affected (if server set to use stam).
Fixed : Exploit in Unpack() with Arrays and Dictionaries. If an element within
the pack returns an error when unpacked, Unpack() halts and returns an
error. Still ignores Uninit stuff as before. Same reasoning for fix as
with Strings on 10-02. Dictionary will continue on and insert the error
returns in key/value entries.
10-02 MuadDib
Fixed : Exploit in unpacking Strings with length definition. Affected manual
building of packed versions such as in use by Aux connections etc.
New error returns:
"Unable to unpack string length. Invalid length!" = 0 or less Length
"Unable to unpack string length. Bad format. Colon not found!" = Duh.
"Unable to unpack string length. String length excessive." = Said it 3,
but length was actually less.
"Unable to unpack string length. String length short." = Said it was 3,
but length was actually more.
Note : The following is acceptable in packed data sets.
's' = String data, no length defined. Ex: sHello World!
'S': String With Length defined. Ex: S12:Hello World!
'i': Integer follows. Ex: i12
'r': Double Integer format. Ex: r12.9
'u': Unitialized Object format.
'a': Array follows. Ex: a2:S12:Hello World!S12:Hello World.
'd': Dictionary.
't': Struct
'e': Escript Error
'x': Unitialized Object
If you ever question the format for something packed, then just use
the Pack() function on your data, to see the end result.
9-05 VeNdOr
Fixed : equipped items become invisible on realms different from britannia
9-04 VeNdOr
Added : auxconnection.ip -- returns remote ip of connection as string
8-20 Shinigami
Fixed : Bug in config/movecost.cfg - "Walking_Mounted" section was ignored
8-19 Shinigami
Fixed : Memory Leak in PacketHook functions
7-09 Shinigami
Added : added UO:KR login process
Added : player.isUOKR -- returns 1 if player uses an UO:KR client
6-17 Shinigami
Added : Entry to pol.cfg 'WorldDataPath' to set a different path to the data files.
Defaults to 'data/'
5-4 Shinigami
Added : uo::GetRegionName( object ) - get name of [justice] region
uo::GetRegionNameAtLocation( x, y, realm ) - get name of [justice] region
4-12 Austin
Added: Projectile support for NPC intrinsic weapons.
Property keys are AttackProjectile, AttackProjectileAnim, AttackProjectileType and AttackProjectileSound
4-8 MuadDib
Fixed : Crash involving Realms() and passing non-string param or empty param to it.
Changed : Sending of worn items to inrange pcs has been optimized. Should help
reduce load a little bit for fully dressed mobs and full packs. Maybe
reduce server load during bashes? Would require testing of course to make
that statement :)
Removed : CreateNPCFromTemplate() will now only accept Struct for override props.
Arrays was removed due to core changes in array handling since this
function was updated to use arrays.
4-4 MuadDib
Added : WornItms Container checks that look for and handle container class
objects like Quivers, etc, will ignore the following layers for the
obvious and specific reasons:
11 (hair), 15 (shhhh), 16 (beard), 21 (pack), 25 (mount)
Changed : WornItems container checks when looking for accessible items. If an
item inside the WornItems container is a container itself, it will
now check inside that. This affects for example, quivers added in
the ML Expansion. Lets you make new equippable containers to
hand layers, etc, and be usable fully for adding items into it
and removing while equipped. This is in effect for layers 1-25
so be very carefull when creating these items!
Changed : WornItems container is now checked for legal containers when drag-n-drop
attempts to drop an item onto the equipped container class object (quiver).
THe above layer ignoring is in place here also.
Added : Projectile weapons will now check equipped containers for ammo if it
cannot find any in the backpack first.
NOTE : I very strongly recommend making equip scripts and all for these
items. Since it IS a container, you need to make sure the layer
the client is putting it on, is the correct layer. So just have the
equip script make sure the correct layer is empty on the character
equipping this. Remember, these are CONTAINERS, not armor/weapons.
The client will allow equipping only if the item is set as armor
or weapon, and uses layers client side. Never trust the client, thus
the need for an equipscript for containers when they can possibly be
equipped.
3-28 Shinigami
Changed: Adjustment to increasing the revision state for Equipment loosing
HPs while fighting.
1-15 MuadDib
Fixed : PrintTextAboveCL() now checks for object instead of mobile class
being passed to it.
Changed : Default of uc_text in cliloc.em. Just smack me.
1-3 MuadDib
Added : Packets that are pre-character selection will now report a struct to
a packethook with the member "ip". So far this is the only member in
the struct. Future members might be added, but don't hold me to it.
Account references at this time, cannot be added.
1-2 MuadDib
Added : Native handling of 2D and 3D "Allnames" macro that uses CTRL+SHIFT.
Added due to the nature of client to spam a lot of these in crowded
areas, which would cause server lag due to packet hooks to handle each
request individually in critical mode per client using it.
12-27 MuadDib
Fixed : Server IP is now sent in correct order in the 0xA8 packet.
12-05 Shinigami
Fixed : fixed a Bug in Walking-on-Multi-Code. A Multi-Definition Door upstairs could block walking.
11-02 Austin
Changed : POL no longer requires the presence of the following files in pol/config/ in order to start up:
combat.cfg, movecost.cfg, watch.cfg, armrzone.cfg, circles.cfg, spells.cfg npcdesc.cfg
and pol/regions/resource.cfg
10-30 Austin
Fixed : Error in the internal webserver where it would sometimes only send the first part of a file.
10-25 Austin
Added : Entry to pol.cfg 'RealmDataPath' to set a different path to the data created by uoconvert.
Defaults to 'realm/'
10-20 Austin
Fixed : array{array{}} was appending as a single array as a result of a 10-17 change.
10-17 Austin
Fixed : array += array will work properly now by merging the arrays.
array += xxx will place 'xxx' at the ending index of the array.
09-28 Austin
Added : account.AddCharacter(index)
* If Index is 0 (.AddCharacter(0)), it will find the next available slot on the account.
(Otherwise pass 1-5)
Will create a naked, uncolored, male character named "new character" at 1, 1, 1 on Britannia.
Character setup will need to be done in the script that creates it.
Does not start "scripts/misc/oncreate.ecl"
09-27 Austin
Added : File::FileExists( filename ) - returns 1 if a file exists, 0 if not.
09-26 Austin
Fixed : Bug in repsys hook where highlight and name color params were backwards for player-player.
Fixed : move_offline_mobiles method for boats.
09-23 Shinigami
Changed : Profiling counter Script_Cycle and Sleep_Cycle uses 64bit now
09-20 Austin
Changed: polsys::Realms() to polsys::Realms(realm:="")
If a realm name is passed, it will provide a struct for that specific realm,
otherwise will work as it did before.
09-17 MuadDib
Added: NPC::SayUC(). Same thing as Say(), cept unicode formatted.
Changed: NPC::Say() and SayUC() now check distances for different text types.
Note: DoEvent for SayUC() is currently disabled.
09-17 Shinigami
Changed : uo::SendEvent() and Script.sendevent() will return error
"Event queue is full, discarding event"
09-16 Shinigami
Added : some Packet functions, same as original one, but with flipping Byte Order
Packet.GetUnicodeStringFlipped(offset, length)
Packet.SetUnicodeStringFlipped(offset, unicode character array, nullterminate)
09-15 Austin
Added: ENUMERATE_ROOT_ONLY for EnumerateItemsInContainer(container, flags)
Will cause it to only list the contents in the container passed and not
the contents of any sub-containers.
09-05 MuadDib
Added: UOConvert now adds "season 1" to the realm.cfg file for each realm during
conversion. Season will default to 1, if no season entry is given (aka
you was to lazy to run the newest uoconvert for your maps!). Seasons
are listed as follows:
0 = Spring
1 = Summer
2 = Fall
3 = Winter
4 = Desolation (Felucca)
Added: Realms() will now also return .season for each realm.
Fixed: Core not sending season information correctly when logging in or
changing realms if non-encrypted clients was set up in pol.cfg.
09-03 MuadDib
Added: character.shield member. Returns an ObjRef of shield equipped.
09-02 MuadDib
Added: Polsys::IncRevision(object). Used to increase the Revision number of an
object (mobile or item). It then also runs a check for resending the
tooltip data to client. This can be used in scripts when you change
CProps or other items that normaly do not update the tooltips for
custom tooltip hooks.
Changed: Internal handling of UO.EM Function execution. Should not affect
scripts. As always, be sure to recompile your scripts when you
upgrade to a new core release.
09-01 MuadDib
Fixed: Bug causing Pre-AOS status bars to freeze clients and/or generate core
crashes.
Changed: Adjustments to increasing the revision state for stacks, items, and
mobiles. Rule of thumb, if you change a member like newbie, title_race,
and so on via script, this is not automatically updated. Names, amounts,
and so on that are more critical ARE increased. This is pre to a an
upcoming ability to increase via scripts and force tooltips to be
resynced with the client for custom tooltip hooks to be fired.
08-31 MuadDib
Removed: All instances, calls, used and unused, code for the permitems.txt
data file. This was never fully implemented, and as such, has been
removed by decision of several developers.
08-26 Austin
Fixed: POL will check to make sure the corpse and backpack items are setup
in an itemdesc.cfg when loading.
If EnableSecureTrading is enabled in pol.cfg it will also check to
make sure its container is setup.
08-25 MuadDib
Fixed: Padding involving stats.
08-22 Austin
Added: npc.alignment : 0 - Neutral, 1 - Evil, 2 - Good
08-19 Austin
Added: Three more hooks to repsys.cfg's HookList elem.
OnAttack Run when a mobile attacks another.
- Target with the TGTOPT_HARMFUL flag set.
- Mobile goes into warmode and double clicks another.
OnDamage Run when a mobile damages another.
- ApplyDamage() or ApplyRawDamage() is used.
OnHelp Run when a mobile helps another.
- Target with TGTOPT_HELPFUL is used.
08-17 Austin
Added: repsys.cfg
New elem called 'HookList' which will support syste hook scripts for the reputation system.
Currently name (single click) and highlight (health bar) colors are hookable.
Example:
repsys.cfg
HookList HookList
{
NameColor :repsys:hookScript:NameColor
HighLightColor :repsys:hookScript:HighLightColor
}
:repsys:hookScript.src
exported function NameColor(mobile, visible_to)
return CInt(GetObjProperty(mobile, "NameColor"));
endfunction
exported function HighLightColor(mobile, visible_to)
return CInt(GetObjProperty(mobile, "HighLightColor"));
endfunction
HighLightColor note: The client seems to only accept the following numbers
0 - None, 1 - Innocent, 2 - Friend, 3 - Attackable,
4 - Criminal, 5 - Enemy, 6 - Murderer, 7 - Invulnerable
8 - Unknown (blue gump, pure black mobile)
08-14 MuadDib
Added: uo.em command CancelTarget( of_whom). Can be used to kill an existing cursor
if one exists, for a client.
08-12 Austin
Changed: pol.cfg IgnoreLoadErrors=1 (enabled) changes
Instead of stopping the startup, the following will occur:
* If an item belongs in a container or on a character and neither
are present, the item will be destroyed.
* If an item has an undefined objtype greater than 0x3FFF, it will not be loaded.
08-11 Austin
Added: Datafile::ListDataFiles()
Returns an array of structs containing
.pkg - name of the package the datafile belongs to
.name - name of the file
.descriptor - :pkg:name
07-24 MuadDib
Changed: Handling of non-aos expansion accounts and status bars.
07-20 Austin
Fixed : Spelling mistake for the method setcriminal
Fixed : Guilds were not saving data.
Changed: NPCs with the template set to 'Good' for alignment will now change highlight color
if set to murderer or criminal.
06-29 Austin
Added : Operator support for += -= *= /= and %=
i += 5; would be the same as i := i+5;
06-23 Austin
Added : PolSys::ListTextCommands() - Returns a dict of a dict of structs.
Dict 1 - Package names Dict 2 - Command levels Struct - .dir .script
Example:
foreach package in ( commands )
Print("Pkg:"+_package_iter);
foreach level in ( package )
Print(" CmdLvl:"+_level_iter);
foreach command in ( level )
Print(" "+command);
SleepMS(2);
endforeach
SleepMS(2);
endforeach
SleepMS(2);
endforeach
06-22 Austin
Added : Attributes::GetAttributeName(alias) - Returns the real attribute name from an alias.
Added : Vitals::GetVitalName(alias) - Returns the real vital name from an alias.
Added : PolSys::GetCmdLvlName(alias/number) - Returns the real command level name from an alias.
06-21 MuadDib
Added : Cliloc::PrintTextAboveCL() and PrintTextAbovePrivate().
Added : Support for Talisman layer (layer 9) in core definitions.
Hint : Quivers (added in ML) share layer 20 with cloaks. You can however
on Origin equip cloaks AND quivers. Ewwww.
06-20 MuadDib
Added : Cliloc.em added to the list of new EM Modules. Included in this is already
the command SendSysMessageCL(). The new EM will have the commands
commented for instruction of use. If you know about clilocs, you know
they can be a pain and have additional arguments. Sending normal clilocs
and ones with arguments are both supported in the single commands.
Argument flag defaults to 0 in the EM for this.
06-20 Austin
Changed : Moved guild functions to guilds.em
06-18 Austin
Changed : Moved storage area functions to storage.em
Changed : Moved vital functions, ApplyDamage, ApplyRawDamage and HealDamage
from uo.em to vitals.em
06-17 Austin
Changed : Updated handling of object properties and methods. Should provide a slight
speed increase.
Changed : Moved attribute functions from uo.em to a new attributes.em module.
06-16 MuadDib
Changed : AddMenuItem() now has a color option. Default is 0.
Hint : menus.cfg uses the color of the itemdesc entry of the objtype given,
to get color. So if an item has no itemdesc entry, it defaults to 0.
06-16 Austin
Removed: Skills.cfg is no longer used.
Instead skill IDs will be read from uoskills.cfg and redirected to
attributes.cfg. The attributes.cfg file now has support for the old entries.
skills.cfg entries supported now in attributes.cfg are:
DELAY, UNHIDES and SCRIPT
06-15 Austin
Added : mobile.Privileges() - Returns a dictionary.
The key is the privilege name. The value 0/1 is if it is enabled or not.
Removed: Built-in text commands (you'll need to script them):
.eobjcount, .i_help, .log, .los, .objcount, .priv, .privs, .set, .turn,
.t_online, .unload, .unloadall, .wheretest
06-15 MuadDib
Added : Function OpenURL(character, url_string) to OS.EM. Used to send Open Web
Browser packet to client.
06-14 MuadDib
Added : AOS style status bar is now generated correctly for AOS+ clients that ALSO
have the UOExpansion set to AOS or higher. Only thing populated by core is
the statcap entry. Rest can be done via packethooks.
Added : UOClient.cfg entry "StatCap" in General. This is used with AOS era
status bars to send the statcap in the packet. Default is 225. Can use
packethooks to override this outgoing to client.
06-14 Austin
Changed : All log files (pol.log, debug.log, start.log, etc.) will now be placed in pol/log/
06-13 Austin
Changed : Config files in packages can now be in pkgname/config/cfgfile.cfg.
If it is not present there, it will look in the package root (pkgname/cfgfile.cfg)
pkg.cfg must still be at the root of the package.
06-13 MuadDib
Changed : Handling of target request returns in core. Returns errors more efficiently
when client already has an active target cursor.
06-12 Austin
Added : UO::CloseTradeWindow(mobile) - Will close the trade window for the mobile and the
person it is trading with.
06-11 Austin
Added : mobile.trading_with - Returns a mobile reference if a secure trade is taking place.
Added : Util::StrFormatTime(format_string, time_stamp).
Takes in the StrFTime() specifiers for the format string.
(http://www.cppreference.com/stddate/strftime.html)
If time_stamp is 0, it will use POLCore().systime.
06-11 MuadDib
Changed : When a client already has a target cursor request, instead of core
just returning that to the new requesting call, now returns an error
code back to the calling cursor script.
06-10 MuadDib
Cleanup : Removed last of stat advancement code. While this was depreciated
several versions ago, please remember stat advancement must be done
via the scripts.
06-09 MuadDib
Cleanup : Cleaned out some old code.
Removed : Removed depreciated UO.EM Function MoveCharacterToLocation(). Use
MoveObjectToLocation() now.
Removed : Removed depreciated UO.EM Function MoveItemToLocation(). Use
MoveObjectToLocation() now.
Re: Bring out your bugs
Next 2 fixes are:
Code: Select all
08-20 Turley:
Fixed : server-side check if item is stackable on drop
08-19 Turley:
Fixed : Character.clientversion string
Re: Bring out your bugs
Is it possible to maybe look into UOConvert and see why sometimes maptile.dat generates a file of all 00's (Hex 00's)... This causes GetMapInfo().landtile to always return 0. When this file is generated correctly, it works again. This has happened to me before and now I hear its happened to someone else.
Re: Bring out your bugs
These I didn't see fixed just yet:
I did not read thru the whole 097 bug reports forum, just took a few posts I *know* are valid and somewhat important ones.
On the other hand, the coming core has some neat stuff in it (Run_Script!!), which makes me think these don't have to be fixed in the 097.0 if it would require lots of time and effort.
I did not read thru the whole 097 bug reports forum, just took a few posts I *know* are valid and somewhat important ones.
On the other hand, the coming core has some neat stuff in it (Run_Script!!), which makes me think these don't have to be fixed in the 097.0 if it would require lots of time and effort.
Re: Bring out your bugs
A bug that has been in the core since I started using it....
If you close pol forcibly by clicking the X in the console topright border, the "Pol" icon remains in the system tray until you move the mouse pointer over the top of the icon. Tested on Windows 2000 server only.
If you close pol forcibly by clicking the X in the console topright border, the "Pol" icon remains in the system tray until you move the mouse pointer over the top of the icon. Tested on Windows 2000 server only.
Re: Bring out your bugs
The icon remains if it crashes while starting up too.
Tested on Windows XP
Tested on Windows XP