Jump to content

Welcome to ProjectSWG Forum
Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, post status updates, manage your profile and so much more. If you already have an account, login here - otherwise create an account for free today!

Patch Notes - 3rd August 2015

Yesterday, 05:01 PM

Posted by Obique in Patch Notes


Greetings Galaxy,

These are the latest developmental changes on the Holocore currently available on Project SWG's Test Server as of August 3, 2015. For more information and discussion about Project SWG's open source development: Development Discussion. The goal of this publication is an overview.


Introducing Holocore /// Roadmap for Holocore /// Status of implemented features /// Holocore Bitbucket repository

The following changes have been pushed to the Test Center:
Buildouts / Snapshots

  • Now loads snapshots
  • Added portal layout visitor
  • Added cell name field to CellObject
  • Added function to BuildingObject to get cell by name
  • Changed config files to have new LOAD-OBJECTS entry
  • Fixed reading in WorldSnapshotData
  • Fixed some object IDs being overwritten by snapshots/buildouts
  • Fixed snapshots to load like buildouts
  • Fixed some logging in TerrainSnapshotLoader
  • Fixed object ID collisions with buildouts/snapshots
  • Fixed observers issue where when in cells players get their chat messages twice
  • Fixed null pointer exception when loading all buildouts
  • Improved buildout/snapshot loading to allow getting entire object table
  • Made lists and maps in Buildout/SnapshotLoader final
  • Merged loading buildouts and snapshots to one config entry
  • Now sets cell information before adding object to parent in buildouts like in snapshots


  • Added 20 char limit to character names
  • Added packet handling for DataTransformWithParent to enable seeing players in buildings.
  • Fixed CORE-127 'Players will now show up in buildings'
  • Fixed an issue during character creation where selecting the Comfortable clothing would actually grant the Military clothing
  • Fixed ConcurrentModificationException when deleting character
  • Fixed cell issue where players sometimes couldn't see others in cells
  • Fixed issue where players will still appear as spawned inside a building despite logging out
  • Implemented setPlayerAppearance and revertPlayerAppearance
  • Now checks to see if random name is approved before sending it to client


  • Default system chat rooms are now created
  • Added chat room persistence
  • Added ability for players to create custom chat channels
  • Added ability to leave chat rooms
  • Added moderators for custom chat channels that have enabled moderation
  • Added ability to destroy rooms
  • Added ability to kick, ban, and unban players from chat rooms
  • Added ability to invite and uninvite players to private custom chat rooms
  • Added basic joining and room info retrieval functionality for chat rooms and the ability to send messages to the room
  • Changed ChatService to a manager and moved chat room functionality to ChatRoomService under ChatManager
  • Fixed ChatOnEnterRoom being sent to the client twice
  • Minor cleanup to chat and command code
  • Moved creation of system default channels to a server data file to simplify code
  • Planetary based rooms are now joined and left automatically when switching between planets
  • Refactored default system channel creation to not require a public method


  • Added ability to add players to friends list
  • Added /findfriend
  • Added ability to remove friends from friends list
  • Fixed online notification status not showing for players that are relogging
  • Fixed friends displaying in friends list from old characters
  • Fixed removeFriend command not properly lowercasing
  • Fixed variety of issues with the community window not refreshing friends list properly
  • Fixed empty "does not exist" messages for friends list
  • Fixed bug allowing you to add yourself to your friends list
  • Fixed offline players not able to be added to friends list
  • Fixed friends list causing issues when adding other players and relogging
  • FindFriend waypoints are set to the appropriate name, color, and displays appropriate messages for being newly created or updated

Login / Zone-in

  • Added intent to commit "ZonePlayerSwapIntent"
  • Changed ChatService to use PE_ZONE_IN instead of PE_FIRST_ZONE
  • Fixed CORE-221 'Fixed LD title applied after relogging.'
  • Moved player creature creation from ZoneManager to ObjectManager upon every zone
  • Now closes past connection when relogging
  • Fixed tells being sent to players that are not zoned in, the sender will now receive the appropriate offline message
  • Fixed issue where sometimes the server won't let you zone in
  • Removed UpdatePvpStatus message from zone in, should be sent with CREO baselines


  • Added db files to .gitignore
  • Added DatatableRowHandler interface for use in handleRows method to process each row within a datatable
  • Added a catch to make sure encryption will not throw anything to cause a crash
  • Added some ack/ooo logging to outbound network handler
  • Added all tests to the main test suite and added the new test: TestConfig
  • Added ChunkReader interface for reading item entries combined in one chunk and updated read methods for slot iff's and profession templates
  • Added check to ODBs to make sure they are loaded before saving them
  • Added additional functions to Location to increase future usability
  • Added missing encode and decode methods to some SWGPackets and refactored SWGPacket's CRC field to be set through a string
  • Added null check for parent in update transform with parent
  • Added ability to notify players galaxy-wide based on conditionals
  • Added galaxy name to the player class
  • Changed SWGNameGenerator to use StringBuffer for name generation and fixed some small issues in other classes
  • Changed project compliance officially to Java 1.8
  • Changed NotSupportedException to UnsupportedOperationException in SWGBitSet
  • Changed the scripting language of Holocore to JavaScript. All scripts have been rewritten.
  • Chagned OutboundNetworkHandler's use of iterator() to listIterator()
  • Changed the decode function of DataChannelA to utilize byte buffers more
  • Changed default quaternion values to point north
  • ConfigFile now has a method for getting a ConfigFile from a string name
  • Created ConfigChangedIntent
  • Created new Quaternion and Point3D classes for the Location.
  • Created the new file type 'sdb' with intelligent loading into a sqlite database
  • Created DirectoryWatcher which can monitor a directory for specific changes and handle these in a given way
  • Current amount of online players is now correctly displayed at character creation and population status is calculated relatively to GALAXY-MAX-ONLINE
  • DataManager now receives real-time config updates
  • Distance to a galaxy is now correctly displayed
  • Fixed memory leak by cleaning up the compressed data after compressing
  • Fixed Encryption to always clean up the compression objects
  • Fixed bad imports in MapService
  • Fixed broadcasting per planet using galaxy wide broadcasting
  • Fixed first zone intent not broadcasting in parallel like it should
  • Fixed use of wrong time conversion in galaxy distance
  • Fixed point rotation by quaternion
  • Fixed 18 warnings throughout the codebase
  • Fixed rounding issue in UpdateTransformWithParentMessage
  • Fixed multiple attachments not decoding properly for OutOfBandPackage's and fixed WaypointCmdCallback exceptions on certain cases
  • Fixed misplaced CREO01 baseline variables and updated their respective deltas accordingly
  • Fixed ProsePackage buffer overflows and removed system messages on waypoint creation.
  • Fixed compiler error in LoginClusterStatus
  • Fixed CRC for ServerUnixEpochTime
  • Fixed an issue with awareness with one character inside a building, the other outside
  • Fixed several warnings in the project
  • Fixed packet structs for DataTransform and DataTransformWithParent
  • IffNodes now use an iterator and closed the FileInputStream after creation of IFFNodes for an SWGFile
  • Improved SQL query and renamed the two tables
  • Improved minor aspects of networking code to be slightly more memory efficient
  • IntentManager.getInstance() is now of public visibility
  • Made Point3D, Quaternion, and Location classes Encodables removing the need for getLocation and addLocation methods in SWGPacket class
  • Moved character creation logic into separate service and made ZoneService a manger
  • Moved some code out of the constructor of MapService and timed the constructors
  • NotifyPlayersPacketIntent can now accept a list of networkId's to notify players with a packet
  • Now adds self to containment update list when equipping
  • Optimized OutboundNetworkHandler to not re-encrypt old OOO data
  • Optimized SWGObject's getWorldLocation function to not make extra location copies
  • Population status variables are now static and final fields of LoginService
  • Put the packet processing in a separate thread to make the UDPServer respond to new packets faster
  • Refactored OutOfBand and ProsePackage's encoding methods
  • Refactored all visitors to use the new format for ClientData classes and significantly improved loading time of client files
  • Refactored Encodable interface to include decode(ByteBuffer) method
  • Refactor to OutOfBandPackage to not need custom encode methods for OutOfBandData interface
  • Removed jython dependency from ThreadUtilities
  • Removed InboundUdpPacketIntent and OutboundUdpPacketIntent and replaced with callbacks
  • Removed unused import statements and generified a few variables for ClientData classes
  • Renamed DirectoryWatcher to ConfigWatcher and refactored it to have a more concrete use-case
  • Renamed Stf class to StringId to match the client
  • Service and Manager are now abstract
  • The load() method in Config now returns a Map of the changed values
  • Updated the rest of the SWGPackets to get CRC by string
  • Updated ServerFactory to allow parsing of tab-deliminated Server Datatable Files (.sdf txt files) to Interchangeable File Format for source control diff viewing instead of using binary files

Terminals / Buildings

  • Added remaining spawns for static buildings
  • Added remaining building types
  • Added static service to spawn bank and ticket terminals
  • Adjusted types.sdbAdjusted coordinates in spawns.sdb
  • Changed column type of spawn sdb's to a more readable text
  • Fixed ticket terminals loading inside foyer4 of the starport
  • Fixed wrong coordinates for travel terminal + ticket collector
  • Fixed Bank and Travel building coordinates
  • Moved ticket collector and transport on rori to proper spots
  • Moved ticket collector to more accurate position in starport
  • Moved the terminal spawning into a SQLite database to be able to search faster


  • Added Waypoint attachments for Mails and renamed OutOfBand to OutOfBandPackage as well as added a decoding method with a new interface
  • Added cellId to WaypointObject
  • Added x y z only command variation to /waypoint
  • Fixed waypoint command parameters, all variations of it should work.
  • Waypoints can now be created at -1, 0, -1


  • Added a unit test for WeatherType
  • Each WeatherType now specify their chance of being picked
  • Moved WeatherService into the galaxy package
  • Weather now updates more frequently and is less prone to being "bad"

Last commit: 9346f93

  420 Views · 15 Replies ( Last reply by Malgus37 )

Server Status

Testcenter: Online

Please be aware the server is a development in progress and many features are still missing

Online Users

1 members, 4 visitors and 0 anonymous users


Recently Added Posts

  • 326079 Total Posts
  • 14704 Total Members
  • FishHumper Newest Member
  • 71 Most Online

5 users are online (in the past 1 minutes)

1 members, 4 guests, 0 anonymous users   (See full list)


Portal v1.4.0 by DevFuse | Based on IP.Board Portal by IPS