Difference between revisions of "ChangeLog"
Supreem CS (talk | contribs) |
Supreem CS (talk | contribs) |
||
Line 14: | Line 14: | ||
* Servers that are not accepting users no longer appear on the server list | * Servers that are not accepting users no longer appear on the server list | ||
* Added resetwindowpos command. While debugging DynamicWindow screen positions you can use this command to stop the client from remembering the window position. | * Added resetwindowpos command. While debugging DynamicWindow screen positions you can use this command to stop the client from remembering the window position. | ||
− | * You now can send a CompleteLogout | + | * You now can send a CompleteLogout game obj function to speed up the process of logging out. (See EventType.UserLogout in player.lua for example) |
* Add StopObjectSound function (see Lua docs) | * Add StopObjectSound function (see Lua docs) | ||
* Fix objects not appearing sometimes when you walk in range | * Fix objects not appearing sometimes when you walk in range |
Revision as of 00:41, 28 January 2017
Contents
0.4.0
Engine
- 64 bit server released (see forum download post)
- Server now uses UDP protocol for all packets. All port forwarding and firewall settings will need to be switched from TCP to UDP
- Add ConnectionTimeOut section to NetworkSettings in ClusterConfig file
- Autorestart now has an option to do a complete shutdown (see example config)
- Fix Whitelist Required option
- We have begun the process of adding support for localization. This means some strings in the server Lua files have been replaced with string codes. In your mods you need to continue to use plain strings until we complete the implementation. In the next build you will be able to add entries to the string table.
- Added support for dot notation (subfolders) in AddModule and DelModule functions.
- Add ability to tag objects (in template or using SetObjectTag)
- Add FindObjectWithTag and FindObjectsWithTag (see lua docs)
- Fix players positions and facings going out of sync
- Server no longer allows people to connect while starting up. Clusters require the starting region to be online before it will accept users.
- Servers that are not accepting users no longer appear on the server list
- Added resetwindowpos command. While debugging DynamicWindow screen positions you can use this command to stop the client from remembering the window position.
- You now can send a CompleteLogout game obj function to speed up the process of logging out. (See EventType.UserLogout in player.lua for example)
- Add StopObjectSound function (see Lua docs)
- Fix objects not appearing sometimes when you walk in range
- Fix "Entering Unknown" bug when switching characters
Default Rules
- Many strings have been converted to use string ids in preparation for localization.
- Lua looks for emailsettings.cfg. When properly configured you can send emails from lua using the SendEmail global function (defined in luaextensions_email.lua)
- Added IsBoss SharedObjectProperty. Gives bosses special health bar
0.3.5
Engine
- Seed engine system has been overhauled to support overriding of individual seed
groups
- WriteGlobalVar and DeleteGlobalVar now takes an optional identifier as the second
parameter. You can now listen for the GlobalVarUpdateResult event type which fires when the write completes. (see docs)
- Fixed DeleteGlobalVar: it was completely broken in 0.3.4
- Scripts subfolder dot notation support: You can now put scripts in subfolders and require
them using dot notation aka java.
- The client now handles a message called “EditObjectTransform” which allows you to
move,scale, and rotate objects. The result of the transform comes back in a ClientObjectCommand event called “transform”. See the Push command in scriptcommands.lua for an example.
- Lots of new icons have been added to the game. See the “custom” window.
- Several new dynamic window widgets have been added. (See Lua Interface Docs) for
more details.
- GetScale/SetScale now take vectors
- SetScale now works on objects
- Seed groups can be excluded from the initial world reset
- Seed groups can dynamically be excluded from the initial world reset in the
engine_callbacks.lua function GetInitialSeedGroups
- GetAllSeedGroups global lua function gives you a list of all groups based on the filter
provided. (See Lua Interface Docs)
- GetSeedGroupData global lua function gives a list of seed data for the given group.
includes template, position, rotation, scale, and objvar overrides.
- New lua global SERVER_STARTTIME which is a DateTime of the cluster startup.
Synchronized across all regions
- Made tents on outlands dynamic objects
Default Rules
- All static global lua files have been moved to subfolders to support the dot notation
- Broadcasts are now cluster wide.
- Reorganized celador seed objects
- Move all npc speech tables to globals to save memory (see
globals/static_data/npc_speech.lua)
- Master controller: One cluster_controller object will obtain the master controller status.
This allows for code that you want to run once for the entire server
- Search window now has map view option.
- Added StopMusic function.
- Fix search command HasModule option
0.3.4
Engine
- Added Map Markers to the AddMap function for Dynamic Windows
- Added HasEvenHandler GameObj function. Returns true if any module on that object is
listening for the message.
- Added PlayMusic GameObj function to tell a specific user to play a music track
- Release window is now server driven and moddable
- New client message “UpdateChatChannels” allows you to make server defined chat channels.
They will appear in the chat entry dropdown on the client.
- Lots of new icons available
- Over 100 new client objects (See CliendIdReference.txt)
- New Local Effects
- ScreenShakeEffect * configurable shake effect
- Blood Spatter Effects * 4 different ones available
(BloodSplatter1Effect*BloodSplatter4Effect)
- Lots of new particle effects
- Add “NoInteract” shared object property. When set to true, object will not highlight when
moused over.
- Add CallFunctionDelayed global function (see docs). This will call a function after a period of
time. NOTE: Will not fire after a server restart!
- Initial implementation of "God View" which is an RTS style camera. See controls window for
hotkey
- Users are now logged out before the server completes its final backup upon shutdown
- DateTime objects can now be stored in an objvar
Default Rules
- Improved whod window
- Map marker support for quests (See data_quests: search for MapMarkers to see an example)
- Add bad word filter support. (See globals_badwords)
- Combat overhaul * modded combat systems will need to be reimplemented in the new system.
(I don’t suggest trying to merge)
- Fixed several issues with changeform command
- Added savehotbar and loadhotbar commands which allows you to store hotbars by name.
These hotbars are saved in xml files in the "savedhotbars" folder of the region's working directory
0.3.3
Engine
- Prototype of cluster support (Documentation coming soon. Until then, watch the video in the
admin forums)
- Limbo area moved to its own map
- Global Variable support added * variables accessible to all regions in a cluster (See lua
interface documentation under Global Functions)
Default Rules
- Housing ownership and Guild data moved to Global Variables
- Enhanced mod has been removed since guild support now exists in the default rules
0.3.2c Hotfix
Engine
- Large memory leak fix in NLua
- Fixed the way IP addresses are resolved when external IPs are used in the ServerAddress
field
Default Rules
- Object Search (/search) window has been significantly improved
- Add profiling functions in globals_debug
0.3.2
Engine
- Server can now load the following maps: Limbo, Celador, Outlands, TwoTowers, Catacombs,
Uaran. NOTE: Only Celador is officially supported at this time.
- Starting templates are now set in the config file. The global function "AddStartingTemplate"
has been removed (See ClusterConfig in zip)
- Lots of new client objects (See ClientIdReference.txt in base folder)
- PathToTarget no longer spams Arrived messages when failing to path
- ReloadSeeds now takes an optional category argument which causes it to only create the
objects in that category.
Default Rules
- Goto window has been revamped
- Teleporter script now has a Set Destination radial menu option for gods. You can /create
teleporter and set its destination now.
0.3.1d
Engine
- Added (optional) advanced network settings options to allow admins to tweak their network
performance. See ClusterConfig.xml in the build for details
Default Rules
- Crafting window no longer shows recipes for items you do not have enough skill to craft. This
is a bandaid optimization since the crafting window was sending very large packets to the client. We will get a better fix for this soon.
0.3.1
Engine
- If a template does not have a script engine component and something attaches a module
using AddModule, it will now automatically add the component.
- Fix SkillGainMultiplier server setting
- Fix for calling new stat functions on a mob other than this
(SetStatValue,SetStatMaxValue,SetStatRegenRate,SetStatVisibility,SetRestrictedStatUpdateLe vel)
- Fix Collision on Two Towers map (now usable in mods)
Default Rules
- Quest System: Now supports repeatable quests
- Protect the Great Tree content has been disabled
0.3.0
Engine changes
- SendMessage, ScheduleTimerDelay, and all CreateObj functions now support argument lists.
You no longer have to send multiple arguments as a table
- Temporary objects * You can now call CreateTempObj to create an object that is not stored in
the world backup. Be careful with this as these objects can still be stored on players if they log out with them in their possession.
- Object stats engine support
- many can now be stored on the objects
- you can set the stat visibility of any stat
- Global * shared with every user in update range
- Restricted * shared if the users attached object is in the restricted update list
- Private * Only shared with the attached user (default)
- stats by default have a regen value of 0, if you set it to a non*zero number, it will
automatically update the CurValue over time on both server and clients
- stats by default have a very large max value
- See the new stats functions in the lua documentation for more info
- Add support for custom context menus opened directly by the server see
OpenCustomContextMenu in the lua docs
- Add radial menu support for alternate object interactions.
- The ruleset specifies the options for any given object by defining a function in the global lua
environment called GetObjectInteractionList (see globals_engine_callbacks.lua in base for the default implementation)
- The default interaction (what happens when you double click on an object) for any object is
defined by the DefaultInteraction shared object property (in the default rules this is set automaticaly when you call AddUseCase with true for the second parameter)
- AddButton now supports a list of custom sprite names for each of the button states
(default,hover,pressed,disabled). We still need to provide you with a sprite reference so you know what sprites are available.
- Add Invisible button type that allows you to make any part of dynamic window clickable
Default Rules
- Moved all multiple argument calls to SendMessage, ScheduleTimerDelay, and all CreateObj
functions from tables to argument lists
- Added support for creating packed and temporary objects from the create menu
- Added /portal command (pass a location and it opens a two way portal from your location to
that location)
- Updated dialog windows to use dynamic windows
- Added lots of convenience functions in incl_dialogwindow for buttonmenus, progress bars, and
simple text fields
- Move Str/Agi/Int/Hp/Mana/Stamina to the new object stats system
- The UseObject message now sends a second parameter which is the type of interaction. This
must be checked in any script that handles this message in case multiple scripts add additional use cases.
0.2.5
Engine Changes
- Added RegisterSingleEventHandler which auto unregisters itself after the event is fired, moved
all ModuleAttached and LoadedFromBackup handlers to use this
- Add GetTemplateData function which returns all of the data for a template in a single lua table
- Add SearchRect object searcher (See API)
- Added new spell effects (See EffectReference.txt)
- Fixed lots of bugs with changing the appearance (body type) of a mobile
- Fix text fields that are in a window not using TopLeft anchor
- Fix text field positions with small screen resolutions
- Fixed Dynamic windows that were not TopLeft with position 0,0 were not appearing in the
correct location
- Fixed issues with equipping custom heads/skins
- Stability and memory leak fixes
Default Rules
- Updated create window to include categories and use scrollbars
- Complete revamp of the object info window
- Move master recipe table to global data file
- Added support for dynamic abilities specified in templates (see creatures in halloween mod)
- First pass on questing system (roundtable on this system soon)
Enhanced Mod
- Quick fixes for guild windows
Halloween Mod
- We’ve removed the Infection mod from the build since it has become outdated. The halloween
mod is now our showcase mod. Watch the roundtable where Supreem goes over the mod (https://youtu.be/WIyg*f*NsHQ)
0.2.4
Engine Changes
- More DynamicWindow improvements (see lua docs)
- Rock4A now has collision
- Fixed male versions of new armor/equipment
- Added new particle effects see EffectReference.txt
0.2.3
Engine Changes
- Added many enhancements to the DynamicWindow system (see lua docs)
- Added GetIconId function which returns the id of a given object for us in dynamic window
Images and UserActions
- NOTE: Buttons in dynamic windows were not taking the title bar width into account so you
might need to fix all your button positions
- Added frame time debugging output to Verbose logging (NOTE: you can turn this on with the
luadebug command)
- Added server collision for lots of objects
- Added Enhanced mod to release which includes the guild functionality from the
collaboratorium
Default Rules
- Modders can now add items to the users hotbar. See AddUserActionToSlot message in
base_player_hotbar (I'll probably make a video about this soon)
- You can now reinitialize a mobile's base_mobile (Stats,Skills,Equipment) using the
ChangeMobileToTemplate message
- New crafting window, conversation window, ability window
- Crafting system has been fairly overhauled, many recipes require learning before player can
use them
0.2.1b
Engine Changes
- Added GetAttachedUserId function (see lua reference under GameObj)
- Fixed 3 memory leaks in LuaVM. Should now be able increase autorestart up to 5 hours (300).
- Fix logging for chardb module.
- Backup files now compact and should be much smaller.
- Add SingleObjectSearcher to track the state of a single object using AddView (see lua
reference under Object * Searchers)
- Reset world now resets permanent objects (trees/rocks) as well. Until we get a new client, you
need to log out and back in to see the rese
- Add luatools folder in base. Modders can add lua extensions to the engine by putting the
lua/dll files in this folder. See luaxml as an example
- Add luaxml library (http://viremo.eludi.net/LuaXML/). See dump_to_xml function in
base/scripts/globals_debug.lua for an example
Default Rules
- Fix “nil source info” error message
0.2.1
Engine Changes
- Changes to support new server list
- Add ServerDescription to ClusterConfig
- Fix fog for fly camera on Uaran
- Add lots of missing collision to npc pathing
- Move log message for object at 0,0 warning to Verbose setting
0.1.14d
Engine Changes
- Add ability for public servers to have ServerListVisibility option
- Fix but with autorestart causing commands to fire multiple times
- Added Simple Memory Debugging with /luagc mb and /luagc me (/help luagc for details)
- Added Object id to lua exception messages
- Moved data_ files to globals (saves memory), Note: this means you must restart your server
for changes to data_ files to take effect
- require 'default:globals' in a modded globals.lua now works as expected
- changed backup format to fix a critical crash bug
- /resetworld now ignores objects with the NoReset objvar on them. Note: if it is a seed object
you will end up with duplicates (right now)
- ServerIndex config variable works properly now
Default Rules
- Made more of the gameplay settings work commented out the ones that arent used yet
- Added extended Goto window use with /goto with no arguments
- Village content is about 30% implemented
Mods
- Infection: Add overrides for welcome dialog and motd
0.1.14c
Engine Changes
- Fix servers not working on non US locales
- Fix server side issue with invisible objects
- Fix SetHue not persisting across server restarts
- Add AutoRestart and BackupFrequency settings to ClusterConfig (0 means no auto restart or
backups)
- Fix lua errors showing wrong module name
Default Rules
- Fix spelling of resurrect command
- Improve /whod command