Generic filters
Exact matches only
Search in title
Filter by Custom Post Type
Search in project

Atavism X (10.6.0) – Date of release 23.04.2022

New Features

  • AGIS: Added Gradle script to download dependencies and modify build.xml respectively. The script can be invoked with Gradle wrapper directly by running gradlew copyDeps (on Linux) or gradew.bat copyDeps (on Windows) or by invoking ant managedeps.
  • Client: Added query to the prefab server each time the login scene is being loaded to not have to exit runtime to get new data from the server.
  • Crafting System: Added option to learn crafting recipes for newly created characters. This can be defined in the player templates.
  • Crafting System: Added option to craft an item without any crafting station by selecting a checkbox in the Atavism Standalone Editor for the recipe.
  • Effects: Added maximum count of results per loot table for Create Item From Loot Effect to limit the maximum number of items that can be randomized.
  • Effects: Added option to Restore Effect to heal target by percentage and not only by the value.
  • Interactive Objects: Added option to trigger animation parameter on the Interactive Object using CoordAnimation when interaction was starting.
  • Items: Added option to define if the item should be repairable or not.
  • Mobs: Added Mob Spawner component that can be used in the Scene View to spawn mobs, instead of the in-game spawner.

  • Quests: Added option to check quest objective items also within equipped items and not only in the backpack.
  • Resource Nodes: Added maximum count of results to drop.
  • Server: Added option to set the server in the development mode, in which admin can refresh data related to items, skills, abilities, effects, etc. to improve developers experience and speed up iterations significantly.

  • Server: Introduced micrometer metric registry.
  • Server: Added helper class that provides MeterRegistry and exposes an HTTP endpoint with metrics in Prometheus format.
  • Server: By default, a set of micrometer built-in metrics is enabled and additionally, 2 simple custom metrics are collected in ProxyPlugin and 1 timer in MessageAgent.
  • Server: Added metrics related to RDP connections.
  • Server: Added simple player cache. Cache mapping between player name and ID in memory to avoid unnecessary SQL queries.
  • Server: Added a few chat commands for administrators:
      • /kick playerName (will kick the player from the server)
      • /banUserName playerName (will kick and ban the player from the server. To unban you have to modify the account in the Atavism Standalone Editor)
      • /ban (will kick and ban the selected player from the server. To unban you have to modify the account in the Atavism Standalone Editor)
  • Server/Client: Added option to load all data and icons related to entities from the prefab server when the game is started with some loading progress visualization, to not have to load them during the game. It’s useful when players are having a slow internet connection and have issues during the game to load elements fast enough to provide a proper gaming experience.
  • Server/Client: Added new information message when an attack was resisted.
  • Server/Client: Added option to kick the player by name using chat command /kick PlayerName.

Changes to existing features

  • Combat: Refactored CombatBehavior. Moved message handling to dedicated methods to simplify lock management.
  • Combat: Refactored CombatBehavior. Extracted smaller methods, and removed unneeded locking to improve performance.
  • Combat: Modified PatrolBehavior and NonCombatPetBehavior to use the local subscription manager.
  • Combat: Refactored CombatBehavior and MessageAgent:
    • removed duplicate code from CombatBehavior
    • added NoRecipientsException which is commonly handled rather than RPCTimoutException
    • allowed multiple recipients of an RPC message
    • added null checks to avoid NullPointExceptions
  • Combat: Modified CombatInfo to not run if the object is dead.
  • Combat: Switched CombatPlugin to SubscriptionManager.
  • Combat: Switched most of the OID-based filtering to SubscriptionManager in CombatPlugin. Additionally, enabled WorldNodeCache to improve the performance of ability checks.
  • Crafting System: Modified crafting, by displaying all skills in the crafting book, even the ones that are not learned.
  • Database: Reworked database connectivity.
  • Database: Cleaned up Database class and ensured Connection, Statement, and ResultSet objects are closed properly with the try-with-resources syntax.
  • Effects: Modified Revive Effect that before added values to the default stats release values, and now it will override them. Previously if the released character had 50% of health, then revive effect could only add to something to the value, so the minimum was 50% + revive value. Now with overwriting value, there can be revived effect that will restore health to 1% and another one that will restore it to 100%.
  • Faction: Improved FactionPlugin performance:
    • removed synchronized blocks from FactionPlugin and used ConcurrentHashMap instead
    • changed targetTypes to a map
    • run TargetTypeTick more frequently to reduce the size of TargetTypeMessage
    • added public no-arg constructor to TargetType and registered the class in worldmashallers.txt
    • added metric to measure the time spent in PerceptionHook
  • Instance: Added instance template cache to InstanceClient.
  • Items: Removed Building Material from Items Effects, because building health is now configurable per building, rather than per material.
  • Mobs: Modified skinning mob option to be able to use skinning even if the mob didn’t have a loot table assigned or didn’t drop anything.
  • QuadTree: Improved QuadTree performance:
    • improved performance of removePerceiverExtentObject by keeping and processing a list of nodes the element is perceived by in QuadTreeElemen
    • modified addPerceiverExtentObject to scan only near nodes instead of the whole tree
    • replaced distanceTo with faster isWithinRadius
    • moved new and old perceiver processing completely to NewsAndFrees from updateElementPerceiversInternal
    • removed locking from removePerceiverExtentObject
    • moved perceiver extent element processing to NewsAndFrees so that they can be processed without holding the lock
    • removed locks from methods that read values or perform atomic updates
    • passed loc to updateElementPerceiversInternal instead of calling elem.getLoc which was very expensive as it might trigger the interpolator and call updateElement again as a result leading to an endless loop if the delay constantly exceeds 300ms. Additionally, removed some no longer needed metrics and slightly improve performance by avoiding copying collections in getters by default (they are copied only where required)
  • QuadTree: Removed redundant remaining locking from QuadTree.
  • Server: Introduced HikariCP and set the default number of connections in the pool to 5 in order to avoid threads getting stuck waiting for a DB connection.
  • Server: Additionally, added log4j-slf4j-impl as a dependency as sl4j implementation is required by Hikari. Please note: slf4j-log4j12 should be removed at this point.
  • Server: Remove the lock from RDPPAcket. Remove a static lock from RDPPAcket which caused all packets to sync.
  • Server: Refactored RDPServer and RDPConnection:
    • set StandardSocketOptions.SO_REUSEADDR so that multiple sockets can be bound on the same port
    • added support multiple DatagramChannel bound to the same port and added a simple round-robin mechanism to select one of them to address poor performance due to locking inside DatagramChannel
    • removed locking where possible
    • removed unused methods and simplify the code
    • collected additional metrics
  • Server: Reworked SquareQueue. Refactored SqareQueue to ensure thread safety and simplify the code. Simplify SQThreadPool to always create a fixed number of threads instead of handling blocking threads separately.
  • Server: Started using multiple (32 by default) DatagramChannels to increase outgoing throughput, additionally slightly increased the size of SQThreadPool to cope better with a lot of clients as each client has its own queue. Also, introduced a bunch of metrics to monitor the performance.
  • Server: Removed references to SQThreadPool from MessageAgent.
  • Server: Made PlayerManager truly thread-safe. Before PlayerManager pretended to be thread-safe, however, because of different synchronization mechanisms (synchronized methods and block of code, concurrent maps, and synchronized lists) mixed together, the safety didn’t exist in practice. There were also quite a few NullPointerExceptions thrown due to a simple LinkedList being used in addWorldPerception. The class was reworked so that it leverages the capabilities of ConcurrenthashMap extensively to provide strict thread safety.
  • Server: Removed locks from WorldNodes and interpolators. There used to be 2 levels of locking: per-node and per-quad-tree and for instance, a call to getLoc() required acquiring a per-tree lock which caused most of the threads in the world manager was getting stuck on getLoc() calls. These all explicit locks were removed from nodes and interpolators and leveraged volatile fields and ConcurrentHashMap instead.
  • Server: Modified NewsAndFrees to process them without locking.
  • Server: Removed locking from CounterMeter. CounterMeter is used in a couple of places in RDPServer and RDPConnection and the previous implementation was slowing down the processing significantly when multiple threads were sending data at the same time. Locks were replaced with atomic numbers.
  • Server: Modified message processing metrics. Changed queue semaphore permits to a more reasonable value. Introduced message lag and message processing time metrics.
  • Server: Removed locks from Manager. Replaced explicit locking with ConcurrentHashMap. This change significantly improves the performance of UpdateMessage processing in faction for instance.
  • Server: Changed stealthed to concurrent set.
  • Server: Improved performance for WorlManagerPlugin:
    • speeded up processNewsAndFrees in WorlManagerPlugin
    • introduced GuildCache to avoid multiple duplicate DB queries
    • used makeObjectInfoNoInterpolation instead of makeObjectInfo to create ObjectInfos in order to avoid triggering the interpolation and calls to
  • QuadTree: Modified updateElement which resulted in an endless loop of updateElement and processNewsAndFrees being called by each other
    • replaced list with sets to speed up lookups
    • extracted common checks and perform them once
    • avoided redundant calls to containsKey inside loops
  • Server: Cleaned up WorlManagerPlugin. Removed excessive trace logging along with some redundant code. Reduced the number of collected metrics.
  • Server: Refactored getEntity to acquire lock only when needed.
  • Server: Modified sending messages to achieve better non-blocking. Instead of using a single buffer and blocking multiple sending threads use a queue to add newly created buffers with messages. This change helps a lot when multiple threads are trying to send messages to the same agent concurrently.
  • Server: Changed subscriptions to ConcurrenthashMap and removed synchronization to speed up subscription change processing in the proxy.
  • Server: Improved RDP data reception performance by leveraging SquareQueue to handle incoming packets on multiple threads. Switched sending channel selection from static assignment to a simple round-robin load balancer.
  • Server: Switched to a non-blocking filter table. Leveraged ConcurrentHashMaps instead of synchronized methods to improve performance and avoid threads getting stuck on filtering.
  • Server: Reworked PerceptionTrigger. Replaced the counters with a set of perceiver IDs to better capture the perception of each object.
  • Server: Added metrics to monitor message wait queue.
  • Server: Improved Proxy performance. Removed unneeded locking in PerceptionHook. Added metrics related to incoming and outgoing heartbeats.
  • Server: Limited the number of threads handling resends. Additionally, added a missing null check.
  • Server: Improved MessageIO performance:
    • increased buffer sizes to better handle higher traffic
    • removed redundant buffer resizing from addAgentData and some commented out code
    • fixed handling of incomplete data writes
    • handled communication with multiple agents in parallel
    • added multithreading to MessageIO. Reworked MessageIO to leverage the existing SuareQueue and process incoming messages concurrently for different agents
    • reduced the number of collected metrics
  • Server: Improved performance and cleaned up RDP:
    • removed redundant packet callback thread and the related code which actually slows down the processing by processing all packets on a single thread. It is no longer needed as packets are processed in parallel by SquareQueue
    • changed the way packets are enqueued in RDPServer so that they are handled in shards containing multiple clients to ensure older packets are processed before new ones as much as possible
    • added support for fast packet re-sending when eacks are received
    • change, removed and cleaned up some metrics
  • Server: Modified time to clean up wait queue faster.
  • Server: Avoided too frequent location changes due to interpolator calls.
  • Server: Reworked packet aggregator to make it more efficient by using multiple threads for RDP. Completely removed locking from packet aggregator and use SquareQueue instead of executor.
  • Server: Removed locking in multiple places to make sending packets faster for RDP.
  • Server: Removed unneeded locking from EventServer.
  • Server: Added missing checks before logging.
  • Server: Cleaned up unused connections for the Proxy server.
  • Server: Improved SetAggroRadius performance. Leveraged ConcurrentHashMap instead of explicit locks to avoid congestion when multiple threads are trying to access ObjectTrackers.
  • Server: Improved player timeout handling. Properly update last contact time on heartbeats and last activity on any other event.
  • Server: Removed send_broadcast and reduced cardinality of send_to_list_output for metrics.
  • Server: Removed locks in a couple of places in ObjectTracker.
  • Server: Used anonymous classes rather than lambdas to ensure compatibility with marshallers.
  • Server: Added metric for the unsupported client version.
  • Server: Added plugin dimension to message queue size metric.
  • Server: Removed unnecessary locking from ObjectLockManager.
  • Server: Allowed players to log in/out concurrently, previously login was handled by one thread. The concurrency can be changed via the ‘atavism.proxy_concurrent_logins’ property and is set to 5 by default.
  • Server: Reworked MessageDispatch. Moved message dispatch functionality to MessageAgent and turned MessageDispatch into a simple marker interface. Added metrics to measure time spent in each message callback.
  • Server: Cleaned up Filter. Removed unused and badly implemented methods. Properly check results from removeTarget before updating filters.
  • Server: Cleaned up MessageCallback/MessageDispatch interface usage.
  • Server: Removed redundant ‘implements’.
  • Server: Improved performance for visibility check. Invoked the related method locally instead of performing a full RPC round trip. There are thousands of invocations each second and this change speeds up entity updates tremendously.
  • Server: Optimized filtering for OID-based filters. Previously supported by SubjectFilter only. The feature can be disabled by setting the ‘atavism.fast_filters.enabled’ property to false.
  • Server: Reworked PerceptionFilter so that it can be used with OIDAwareFilterTable.
  • Server: Improved performance for updateEntity.
  • Server: Moved MessageIO thread pool from EnginePlugin to MessageAgent.
  • Server: Switched from OIDAwareFilter to SubscriptionManager and local filtering. Additionally, introduced a dedicated thread pool in SpawnGenerator to handle long-running spawn tasks.
  • Server: Modified check inRadius before sending NotifyReactionRadiusMessage.
  • Server: Removed locking from ObjectTracker that significantly was slowing down processing PerceptionMessage.
  • Server: Reworked FactionPlugin and ObjectTracker to avoid sending duplicate messages. Added a simple 2-minute cache to FactionPlugin to filter out duplicate SetAggroRadiusMessages. Reworked ObjectTracker so that it no longer removes aggro radius when the object is despawned and hence no longer needs duplicate messages from the faction.
  • Server: Improved unsubscribe performance in SubscriptionManager.
  • Server: Changed Subscriptionmanager initialization.
  • Server: Migrated ObjectTracker and FactionPlugin to subscription manager.
  • Server: Removed unused filters.
  • Server: Added support for deferred messages in SubscriptionManager.
  • Server: Buffered and re-processed messages to ensure the message gets delivered in case the subscription is created after the message was received.
  • Server: Modified SubscriptionManager to send ExceptionResponse when RPC message gets dropped.
  • Server: Added namespace-aware SubscriptionManager.
  • Server: Removed unused PerceptionMessage constructor.
  • Server: Improved message reprocessing for DeferredMessage and SubscriptionManager.
  • Server: Improved Mobs/NPCs Spawning performance:
    • made initial spawn asynchronous
    • created spawn generators using a dedicated executor to avoid blocking the generic scheduler threads
    • Reworked Table class to use ConcurrentHashMaps rather than locks
    • refactored VolumetricRegion to use sets rather than lists
      Through these changes, mob server performance was improved by up to 200x, and server load was reduced by up to 93%
  • Server: Used BVH to speed up updateEntity. Used a BVH (AABB tree) instead of scanning all entities in ObjectTracker::updatedEntity. This change reduces the complexity roughly from n^2 to n * log n and significantly speeds up the execution. AABB tree is configurable and rebuilt periodically (ObjectTrackerBvh).
  • Server: Enabled periodic cache clean-up.
  • Server: Added the possibility to use local invocation rather than RPC for ObjInfoReq.
  • Server: Removed unneeded locking to fix deadlocks and improve performance.
  • Server: Added back methods required for serialization.
  • Server: Added reprocessing for deferred messages on separate threads to avoid deadlocks.
  • Server: Modified inventory to acquire a global lock to avoid deadlocks.
  • Server: Reworked DespawnedHook in VoxelPlugin. Previously, the hook was relying on the assumption that the object is still available in wmgr, but it resulted in race conditions since objects were being removed from wmgr at the same time.
  • Server: Removed unused postUpdate method from PerceptionUpdateTrigger.
  • Server: Modified spawn/despawn hooks to avoid calling getObjectInfo. Used object type from SpawnedMessage / DespawnedMessage instead.
  • Server: Added metrics to AgisAbility.
  • Server: Added support for OID-less subscriptions and remove automatic responses when requests time out for SubscriptionManager.
  • Server: Moved WorldManagerPlugin to SubscriptionManager.
  • Server: Improved RPC handling. Added support for sending RPC messages to servers with no subscribers.
  • Server: Added metric for invalid path handler calls.
  • Server: Moved death check to the top to avoid making calls for properties of invalid objects for AgisAbility.
  • Server: Reduced logging level for duplicate responses to the warning.
  • Server: Modified AgisInventory to ensure the lock is always freed.
  • Server: Added metric for mobs exceeding chase distance.
  • Server: Enabled WorldNode caching.
  • Server: Changed AOObject transferLock to ReadWrite lock.
  • Server: Modified MessageType intern() to make it thread-safe.
  • Server: Improved PersistenceManager:
    • introduced dirtyQueue and persist dirty entities more frequently
    • changed SaveHook so that it can return a flag to control save behavior
    • removed unused SaveHooks
    • changed persistence in InventoryPlugin
  • Server: Switched MobManagerPlugin to SubscriptionManager.
  • Server: Added live mob metric.
  • Server: Refactored MoveItemHook.
  • Standalone Editor: Modified Tooltips with more info to provide more information about fields and various configurations as well as redirect to the description on the wiki if such is available.
  • Stats: Modified range statistic. Before it should be configured as 0 to handle minimum and maximum range affector for abilities. Right now it will be 100 by default, to provide an option to not only reduce minimum, and extend maximum ranges, but also impact them negatively.


  • Abilities: Fixed issue where Req facing target for the ability didn’t work.
  • Combat: Fixed issue with linked aggro where in some cases didn’t work properly.
  • Combat: Fixed issue where in some cases combat threads were locked in Combat Behavior.
  • Combat: Handled exception where the mob was killed by a group of players, and one of the players wasn’t online when the mob was killed.
  • Combat: Fixed issue where if player tagged mob by hitting him, left mob to exceed the following range, the mob returned to his spot and someone killed that mob, then the player who tagged the mob earlier received experience and quest progress for killing the mob.
  • Combat: Fixed issue where the mob was killed by the player, and the player logged out, then the death parameter was incorrectly set on the mob.
  • Combat: Fixed Behavior implementations. Fixed subscription leak in CombatBehavior and removed some unused subscriptions.
  • Combat: Fixed CombatBehavior so that it cancels scheduled tasks when deactivated.
  • Combat: Fixed deadlock in CombatBehavior.
  • Dialogues: Fixed issue where non-repeatable dialogue wasn’t removed from the list, it wasn’t possible to use it, even the dialogue action was already used and shouldn’t be available.
  • Dialogues: Fixed Audio Manager that wasn’t handling exceptions when audio clips array was empty
  • Dialogues: Fixed Audio Manager that wasn’t playing the last clip in an array as randomization was within incorrect range.
  • Effects: Fixed issue where if teleport effect was used in the arena then caster was teleported back from the arena.
  • Effects: Fixed morph effect when the player is entering spirit mode.
  • Effects: Fixed issue where if the player had an effect on himself that was applied by the region and was revived within that region then the effect was removed. It occurred only in situations if the effect wasn’t set as passive.
  • Equipment Display: Fixed missing variables in the inspector for Modular Customization Manager.
  • Equipment Display: Fixed issue where disabled instanced materials didn’t work properly in the Modular Customization Manager.
  • Inventory: Fixed issue where parameter PLAYER_DEFAULT_BAG_SIZE was increased, then previously created players generated an exception.
  • Item Sets: Fixed issue with item sets that didn’t display bonuses in the tooltips and bonuses didn’t work either.
  • Items: Fixed issue where if delete on activation was set on the item, then the item was removed on use, even if it was on cooldown.
  • Items: Fixed issue where bound items could be traded through a warehouse.
  • Items: Fixed issue where permissions weren’t properly checked when the item was withdrawn from the guild’s warehouse.
  • Items: Fixed issue where bound items could be traded after relog.
  • Items: Fixed issue where more than 38 slots were defined in the character panel, it wasn’t possible to put items into these slots.
  • Items: Fixed issue with gear score that wasn’t presented properly in the tooltip.
  • Items: Fixed issue with gear score that wasn’t properly handled in the enchant module, if the enchanted item should affect gear score.
  • Mail System: Fixed issue where in some cases it was possible to send the same items multiple times through the in-game email system.
  • Mobs: Fixed issue where in some cases when mob killed player, didn’t reset to its spawn point.
  • Mobs: Fixed issue where in some cases threads were locked by NPC Behavior.
  • Mobs: Fixed issue with loot table, where it didn’t work properly if the chance was set to a value lower than 1.
  • Mobs: Fixed exception with loot table when no item was randomized.
  • Mobs: Fixed issue where player switched instances and attacked mobs, then sometimes player’s location was still at the previous instance and not updated in the current so mobs were following the old player’s location.
  • Mounts: Fixed issue with animation parameter that wasn’t reset when the mount was changed directly for example from a dragon to a horse.
  • Pets: Fixed issue where PET_DISTANCE_DESPAWN parameter wasn’t properly loaded from the database.
  • Player Shops: Fixed exception where an email with items from the player shop was sent to the player.
  • Quests: Fixed issue where the requirement for a started quest for dialogue action didn’t work.
  • Quests: Fixed issue when the quest was giving an item and the backpack was full, then the quest was started, but the item wasn’t given.
  • Server: Fixed issue where during the character creation process it was possible to send information about privileges to the server.
  • Server: Fixed issue where was corrected frequently if his moving speed was extremely high.
  • Server: Fixed issue where Master Server returned the address of the Login Manager server when the account name was not sent in the message.
  • Server: Fixed issue with possible SQL Injection.
  • Server: Fixed issue where messages passed to sendBroadcast should not be modified or reused as they may end up in the waitMessage queue and get sent after the modifications are made. Now a new PerceptionMessage is created and populated with data instead.
  • Server: Fixed potential OOME. Removed data from log message as it sometimes makes log4j allocate a lot of memory and results in OutOfMemoryError for some reason.
  • Server: Added missing changes in AgentInfo for RDP.
  • Server: Fixed bug in postponed sequence packet processing (incorrect packet was processed) in RDP.
  • Server: Lock entity when saving to avoid duplicate PK errors.
  • Server: Fixed a few minor issues in the packet aggregator resulting in inefficient aggregation for RDP.
  • Server: Fixed a few issues in RPC where they didn’t use the same collection to send messages and to count received responses, expecting at least 1 response from each agent rather than N’s first responses.
  • Server: Fixed memory leaks related to SQL resources not being closed.
  • Server: Fixed thread leak related to logging out players for the Proxy server.
  • Server: Fixed quadtree metrics by adding a “tree” dimension.
  • Server: Fixed ConcurrentModificationException and removed unneeded locking.
  • Server: Fixed intermittent NullPointerException.
  • Server: Fixed deadlock leading to connection timeout and added some SQL metrics.
  • Server: Fixed ObjectTracker not subscribing to player events.
  • Server: Fixed intermittent NullPointExceptions for RDPCConnection and BaseBehavior.
  • Server: Fixed potential race conditions in the faction. Set instance OID before creating a subscription and potentially consuming deferred. messages.
  • Server: Made mobsToAlertOnDeath thread-safe.
  • Server: Fixed intermittent ArrayIndexOutOfBoundsException.
  • Server: Fixed ConcurrentModificationException in InstanceState.
  • Server: Switched from HashSet to ConcurrentHashMap.newKeySet() to avoid ConcurrentModificationException.
  • Server: Fixed null checks in NoMovePropertyHook.
  • Server: Fixed thread safety in ChatPlugin.
  • Server: Fixed non-blocking property subscription in wmgr.
  • Server: Fixed a few issues related to item persistence.
  • Server: Fixed handling of multiple AABB trees in ObjectTrackerBvh.
  • Server: Fixed deadlock in WorldNodeCache. Used a dedicated scheduler for handling timeouts.
  • Server: Fixed object tracker BVH building.
  • Server: Fixed dirty queue processing.
  • Skills/Talents: Fixed issue where TALENT_POINTS_GIVEN_PER_LEVEL parameter was used instead of SKILL_POINTS_GIVEN_PER_LEVEL.
  • Standalone Editor: Fixed issue where external currency was always saved with value 0.
  • Standalone Editor: Fixed issue where the Primary weapon wasn’t displayed in the table view for mobs.
  • Stats: Fixed issue with StatEffect that didn’t reset time when power was stacked.
  • Stats: Fixed incorrectly calculated casting time that was rounded to int.
  • UI: Fixed some missing translations for the i2localization package for some dialogues keys.
  • World Builder: Fixed issue where buildings were instantly built when the player left the instance and came back.
  • World Builder: Fixed issue where a purchased claim in private instance created claim with 0m in Y-axis.
  • World Builder: Fixed issue where player changed instance using building interaction effect, and instance spawn marker wasn’t taken into account and player didn’t change its position, but only the instance.
  • World Builder: Fixed issue where build objects weren’t unloaded from the don’t destroy on load Unity scene when the player switched between private and world instances.

Known issues

  • In arena 1 vs 1, if one person will restart the game and log in again, the second player will be dropped from the arena as a winner, the other logged character will be “stuck” in the instance of the arena, but there will be no longer treated as a typical arena.
  • When in crafting definition there is no “Must Match Layout” option checked and for example, the same material is used for two slots with the same count, then if that material will be added into the crafting grid in one slot it will show the result item and craft button available, but the server will response that there are no sufficient items. It’s related to that server is checking requirements for an item in each slot for the recipe and if that amount is in the crafting grid.
  • When an item reward and an item choice reward are the same then the item count for that item is overridden.

Fresh installation of Atavism X (10.6.0)

In order to install Atavism you can choose one of three types of installation:

1. Using premade Virtual Machine which is Atavism ready environment by following the Atavism Virtual Machine Installation process.

2. Using detailed instructions on what environment requirements should be met in order to install Atavism on your dedicated server.

3. Using the installation tutorial with our new Atavism Windows Manager for Windows Environment.

Then you should adjust your Unity project to work best with Atavism

If you are going to use UMA in your project you can follow UMA installation step by step.

it is also recommended to refresh lighting and Asset Bundles because both are related to a specific Unity version. In order to rebuild your Asset Bundles (Bomber Bug is using them), you should head into the top menu in Unity Editor and chose Assets->Atavism Build AssetBundles (it will rebuild your asset bundles and then you should navigate to your project directory and copy file infinitypbr from project_directoryAssetBundles to project_directoryAssetsStreamingAssets.


Updating to Atavism X (10.6.0)

Updating from Atavism X (10.5.0) to Atavism X (10.6.0) is moderately complicated due to many changes on both the server and client sides.

It is highly recommended you create a backup of both your server, client, and databases before proceeding in case something goes wrong during the process.

Update using our Virtual Machine Installation

Step 1: Log in to your Virtual Machine using Winscp client and remove the atavism_server*.zip file first and then the atavism_server directory completely

Step 2: Follow instructions like you would do the first installation but with the option Update Current Atavism depending on your installation (Core or with Demo Data). Open address in a web browser http://server_IP/atavism/installation/install.php

Warning: Make a Unity project backup. Importing the prefabs may break any customizations you had previously made to Your ones.

Step 3: Import Atavism Unity Package, Replace Files

Import the AtavismUnity_10.6.0_Patch_10.5.0_for_{Core|Demo}_Auto.unitypackage depending on which installation you did before.

Step 4: Update the UI Canvas

This procedure depends on how you modified your canvas. If it’s default then just open the AtavismBlankMainWorld scene and replace all components within your world scene, and repeat this procedure for the CharacterSelection scene.

Step 5: Update your database’s maximum connection limit. With Atavism 10.6 we implemented connection pools for all database connections, which increases the number of connections at the start, but reduces the total amount of connections when there is more load on the server, and it scales better. Because Atavism has 16 servers, and each has its own connection pool there is a need to increase the maximum number of connections. In order to do this, login to your server, and in the MySQL configuration file add or uncomment such parameter:

max_connections = 2000

Step 6: Increase memory for your VM. This step is for users who have default settings for premade Centos or Ubuntu VMst that we are providing.

In the Virtual Box panel, select VM that you are using for your Atavism server installation and click Settings in the right section.

Then switch to the System tab in the left section, modify Base Memory from the previous 2048 to 4096MB, and click the OK button.

Update using Custom Linux Installation

Step 1: Replace Server Files

Copy over all server files and adjust them as you did before with the previous Atavism version. Because server-side scripts and configuration files were changed, we recommend you put a fresh copy of Atavism 10.6.0 server files.

Step 2: Update the Databases

Important note: Each time you are updating your database or files make a backup to have a copy of your work

Scripts to update your Atavism X (10.5.0) databases to Atavism X (10.6.0) are in your Atavism Server package. There are two types of scripts, structure, and data for both types of installations (Core and with Demo Data), you should use the proper ones depending on your previous installation method. In order to update the database, first, you have to update the structure, then the data. The script file for structure update :

  • sql/updates/From_Atavism10.5.0/{Core|Demo}/Structure/atavism.sql
  • sql/updates/From_Atavism10.5.0/{Core|Demo}/Structure/world_content.sql

and script files for data update :

  • sql/updates/From_Atavism10.5.0/{Core|Demo}/Data/admin.sql
  • sql/updates/From_Atavism10.5.0/{Core|Demo}/Data/world_content.sql

If you have renamed any of your databases from the default names (admin, atavism, master, world_content) make sure you have proper names in the “use” clause at the beginning of each script.

Step 3: Import Atavism Unity Package, Replace Files

Import the AtavismUnity_10.6.0_Patch_10.5.0_for_{Core|Demo}_Auto.unitypackage depending on which installation you did before.

Step 4: Update the UI Canvas

This procedure depends on how you modified your canvas. If it’s default then just open the AtavismBlankMainWorld scene and replace all components within your world scene, and repeat this procedure for the CharacterSelection scene.

Step 5: Update your database’s maximum connection limit. With Atavism 10.6 we implemented connection pools for all database connections, which increases the number of connections at the start, but reduces the total amount of connections when there is more load on the server, and it scales better. Because Atavism has 16 servers, and each has its own connection pool there is a need to increase the maximum number of connections. In order to do this, login to your server, and in the MySQL configuration file add or uncomment such parameter:

max_connections = 2000


Update using Atavism Windows Manager Installation

Step 1: Open the directory where you installed Atavism Manager (by default in c:\Atavism Manager)

Step 2: Rename the atavism_server directory to atavism_server_old or any other name

Step 3: Download the Atavism server zip file from apanel

Step 4: Unpack the atavism_server*.zip file into your Atavism Manager installation directory

Step 5: Open command line console Windows + r shortcut and type cmd

Step 6: Change the directory to your Atavism Manager installation directory by typing the command

cd “c:\Atavism Manager\mariadb-5.5.61-win32\bin”

and start the database if it’s not started yet by invoking the command


Step 7: Invoke database update commands where the root is the database user, the test is the password for the database user, following with by the path to the Atavism Manager installation directory. If you are not using our default databases, please adjust these commands.

If you have renamed any of your databases from the default names (admin, atavism, master, world_content) make sure you have proper names in the “use” clause at the beginning of each script.

Important note: Each time you are updating your database or files make a backup to have a copy of your work

mysql -u root -ptest admin < “c:\Atavism Manager\atavism_server\sql\updates\From_Atavism10.5.0\Demo\Structure\atavism.sql”

mysql -u root -ptest admin < “c:\Atavism Manager\atavism_server\sql\updates\From_Atavism10.5.0\Demo\Structure\world_content.sql”

mysql -u root -ptest admin < “c:\Atavism Manager\atavism_server\sql\updates\From_Atavism10.5.0\Demo\Data\admin.sql”

mysql -u root -ptest admin < “c:\Atavism Manager\atavism_server\sql\updates\From_Atavism10.5.0\Demo\Data\world_content.sql”

You can use any third-party tool to handle this process for example MySQL Workbench or any other database management tool

Step 8: Start the Atavism.exe application

Step 9: Fill data according to your previous configuration including database credentials (if you changed them)

Step 10: Import Atavism Unity Package, Replace Files

Import the AtavismUnity_10.6.0_Patch_10.5.0_for_{Core|Demo}.unitypackage depending on which installation you did before.

Step 11: Update the UI Canvas

This procedure depends on how you modified your canvas. If it’s default then just open the AtavismBlankMainWorld scene and replace all components within your world scene, and repeat this procedure for the CharacterSelection scene.

Step 12: Update your database’s maximum connection limit. With Atavism 10.6 we implemented connection pools for all database connections, which increases the number of connections at the start, but reduces the total amount of connections when there is more load on the server, and it scales better. Because Atavism has 16 servers, and each has its own connection pool there is a need to increase the maximum number of connections. In order to do this, login to your server, and in the MySQL configuration file add or uncomment such parameter:

max_connections = 2000

To do this, open your Atavism Manager directory, and in the mariadb-5.5.61-win32 folder create a file with the name my.ini and put these two lines

max_connections = 2000

Save the file and start the database server.


List of changed files:

New Files (345)

Atavism demo\DragonsanStudios\Human\Female\Body Textures\Body\F_bod_metallic.png
Atavism demo\DragonsanStudios\Human\Female\Body Textures\Body\F_bod_N.png
Atavism demo\DragonsanStudios\Human\Female\Body Textures\Body\F_H_bod_Albedo.png
Atavism demo\DragonsanStudios\Human\Female\Body Textures\Face\F_H_face_Albedo02.png
Atavism demo\DragonsanStudios\Human\Female\Body Textures\Face\F_H_face_metallic.png
Atavism demo\DragonsanStudios\Human\Female\Body Textures\Face\F_H_face_N.png
Atavism demo\DragonsanStudios\Human\Female\Body Textures\Face\F_H_face_skinmask.png
Atavism demo\DragonsanStudios\Human\Female\Body Textures\Underwear_Albedo.png
Atavism demo\DragonsanStudios\Human\Female\Body Textures\Underwear_Met.png
Atavism demo\DragonsanStudios\Human\Female\Body Textures\Underwear_n.png
Atavism demo\DragonsanStudios\Human\Female\FBX\Materials\Human_Female_Hair.mat
Atavism demo\DragonsanStudios\Human\Female\FBX\Materials\HumanF_Arms.mat
Atavism demo\DragonsanStudios\Human\Female\FBX\Materials\HumanF_Chest.mat
Atavism demo\DragonsanStudios\Human\Female\FBX\Materials\HumanF_Ears.mat
Atavism demo\DragonsanStudios\Human\Female\FBX\Materials\HumanF_Eyes.mat
Atavism demo\DragonsanStudios\Human\Female\FBX\Materials\HumanF_Face.mat
Atavism demo\DragonsanStudios\Human\Female\FBX\Materials\HumanF_Feet.mat
Atavism demo\DragonsanStudios\Human\Female\FBX\Materials\HumanF_Hands.mat
Atavism demo\DragonsanStudios\Human\Female\FBX\Materials\HumanF_InnerMouth.mat
Atavism demo\DragonsanStudios\Human\Female\FBX\Materials\HumanF_Legs.mat
Atavism demo\DragonsanStudios\Human\Female\FBX\Materials\HumanF_Torso.mat
Atavism demo\DragonsanStudios\Human\Female\FBX\Materials\HumanF_Underware.mat
Atavism demo\DragonsanStudios\Human\Female\FBX\Materials\StarterOutfitFeet.001.mat
Atavism demo\DragonsanStudios\Human\Female\FBX\Materials\StarterOutfitLegs.001.mat
Atavism demo\DragonsanStudios\Human\Female\FBX\Materials\StarterOutfitTorso.001.mat
Atavism demo\DragonsanStudios\Human\Female\FBX\Human_Female.fbx
Atavism demo\DragonsanStudios\Human\Female\bb_female_hair_Normal.psd
Atavism demo\DragonsanStudios\Human\Female\female_hair_Albedo.psd
Atavism demo\DragonsanStudios\Human\Male\Body Textures\Body\M_H_bod_Metallic.png
Atavism demo\DragonsanStudios\Human\Male\Body Textures\Body\M_H_bod_N.png
Atavism demo\DragonsanStudios\Human\Male\Body Textures\Body\M_H_body1_Albedo.png
Atavism demo\DragonsanStudios\Human\Male\Body Textures\Face\Eye_Albedo.png
Atavism demo\DragonsanStudios\Human\Male\Body Textures\Face\eye_metallic.tga
Atavism demo\DragonsanStudios\Human\Male\Body Textures\Face\Eye_Normal.png
Atavism demo\DragonsanStudios\Human\Male\Body Textures\Face\Eye_Roughness.png
Atavism demo\DragonsanStudios\Human\Male\Body Textures\Face\InnerMouth_Albedo.png
Atavism demo\DragonsanStudios\Human\Male\Body Textures\Face\InnerMouth_Normal.png
Atavism demo\DragonsanStudios\Human\Male\Body Textures\Face\InnerMouth_Roughness.png
Atavism demo\DragonsanStudios\Human\Male\Body Textures\Face\M_H_face_Albedo2.png
Atavism demo\DragonsanStudios\Human\Male\Body Textures\Face\M_H_face_Nnew.png
Atavism demo\DragonsanStudios\Human\Male\Body Textures\Face\Male face metallic new.png
Atavism demo\DragonsanStudios\Human\Male\Body Textures\M_H_Underwear_Albedo.png
Atavism demo\DragonsanStudios\Human\Male\Body Textures\M_H_Underwear_Metallic.png
Atavism demo\DragonsanStudios\Human\Male\Body Textures\M_H_Underwear_N.png
Atavism demo\DragonsanStudios\Human\Male\Body Textures\male_hair_Albedo.psd
Atavism demo\DragonsanStudios\Human\Male\Body Textures\male_hair_Normal.psd
Atavism demo\DragonsanStudios\Human\Male\FBX\Materials\bb_male_haircut.mat
Atavism demo\DragonsanStudios\Human\Male\FBX\Materials\Human_Male_Body.mat
Atavism demo\DragonsanStudios\Human\Male\FBX\Materials\Human_Male_Hair.mat
Atavism demo\DragonsanStudios\Human\Male\FBX\Materials\Human_Male_Torso.mat
Atavism demo\DragonsanStudios\Human\Male\FBX\Materials\Human7_Accessories1.mat
Atavism demo\DragonsanStudios\Human\Male\FBX\Materials\Human7_Boots.mat
Atavism demo\DragonsanStudios\Human\Male\FBX\Materials\Human7_Gloves.mat
Atavism demo\DragonsanStudios\Human\Male\FBX\Materials\Human7_HeadGear.mat
Atavism demo\DragonsanStudios\Human\Male\FBX\Materials\Human7_Lower.mat
Atavism demo\DragonsanStudios\Human\Male\FBX\Materials\Human7_Upper.mat
Atavism demo\DragonsanStudios\Human\Male\FBX\Materials\Human11_Accessories1.mat
Atavism demo\DragonsanStudios\Human\Male\FBX\Materials\Human11_Boots.mat
Atavism demo\DragonsanStudios\Human\Male\FBX\Materials\Human11_Gloves.mat
Atavism demo\DragonsanStudios\Human\Male\FBX\Materials\Human11_HeadWear.mat
Atavism demo\DragonsanStudios\Human\Male\FBX\Materials\Human11_Lower.mat
Atavism demo\DragonsanStudios\Human\Male\FBX\Materials\Human11_Upper.mat
Atavism demo\DragonsanStudios\Human\Male\FBX\Materials\HumanMale_Arms.mat
Atavism demo\DragonsanStudios\Human\Male\FBX\Materials\HumanMale_Eyes.mat
Atavism demo\DragonsanStudios\Human\Male\FBX\Materials\HumanMale_Face.mat
Atavism demo\DragonsanStudios\Human\Male\FBX\Materials\HumanMale_Feet.mat
Atavism demo\DragonsanStudios\Human\Male\FBX\Materials\HumanMale_Hands.mat
Atavism demo\DragonsanStudios\Human\Male\FBX\Materials\HumanMale_InnerMouth.mat
Atavism demo\DragonsanStudios\Human\Male\FBX\Materials\HumanMale_Legs.mat
Atavism demo\DragonsanStudios\Human\Male\FBX\Materials\HumanMale_Torso.mat
Atavism demo\DragonsanStudios\Human\Male\FBX\Materials\HumanMale_Underware.mat
Atavism demo\DragonsanStudios\Human\Male\FBX\Materials\Mage1_Boots.mat
Atavism demo\DragonsanStudios\Human\Male\FBX\Materials\Mage1_Gloves.mat
Atavism demo\DragonsanStudios\Human\Male\FBX\Materials\Mage1_Hood.mat
Atavism demo\DragonsanStudios\Human\Male\FBX\Materials\Mage1_Lower.mat
Atavism demo\DragonsanStudios\Human\Male\FBX\Materials\Mage1_LowerOVERLAY.mat
Atavism demo\DragonsanStudios\Human\Male\FBX\Materials\Mage1_Mantle.mat
Atavism demo\DragonsanStudios\Human\Male\FBX\Materials\Mage1_Upper.mat
Atavism demo\DragonsanStudios\Human\Male\FBX\Materials\StarterOutfitFeet.mat
Atavism demo\DragonsanStudios\Human\Male\FBX\Materials\StarterOutfitLegs.mat
Atavism demo\DragonsanStudios\Human\Male\FBX\Materials\StarterOutfitTorso.mat
Atavism demo\DragonsanStudios\Human\Male\FBX\M_Human.fbx
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet1 Textures\Accesories 1_A.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet1 Textures\Accesories 1_M.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet1 Textures\Accesories 1_N.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet1 Textures\Boots_A.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet1 Textures\Boots_M.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet1 Textures\Boots_N.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet1 Textures\Gloves_A.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet1 Textures\Gloves_M.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet1 Textures\Gloves_N.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet1 Textures\Headwear_A.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet1 Textures\Headwear_M.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet1 Textures\Headwear_N.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet1 Textures\Lower_A2.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet1 Textures\Lower_M2.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet1 Textures\Lower_N3.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet1 Textures\Mage01Boots_A.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet1 Textures\Mage01Boots_M.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet1 Textures\Mage01Boots_N.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet1 Textures\Mage01Gloves_A.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet1 Textures\Mage01Gloves_M.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet1 Textures\Mage01Gloves_N.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet1 Textures\Mage01Hood_A.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet1 Textures\Mage01Hood_M.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet1 Textures\Mage01Hood_N.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet1 Textures\Mage01Lower_A.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet1 Textures\Mage01Lower_M.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet1 Textures\Mage01Lower_N.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet1 Textures\Mage01Upper_A.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet1 Textures\Mage01Upper_M.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet1 Textures\Mage01Upper_N.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet1 Textures\Upper_A.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet1 Textures\Upper_M.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet1 Textures\Upper_N.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet7 Textures\Accesories 1_A.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet7 Textures\Accesories 1_AC.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet7 Textures\Accesories 1_M.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet7 Textures\Accesories 1_N.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet7 Textures\Boots_A.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet7 Textures\Boots_AC.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet7 Textures\Boots_M.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet7 Textures\Boots_N.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet7 Textures\Gloves_A.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet7 Textures\Gloves_AC.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet7 Textures\Gloves_M.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet7 Textures\Gloves_N.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet7 Textures\Headwear_A.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet7 Textures\Headwear_AC.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet7 Textures\Headwear_M.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet7 Textures\Headwear_N.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet7 Textures\Lower_A.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet7 Textures\Lower_AC.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet7 Textures\Lower_M.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet7 Textures\Lower_N.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet7 Textures\Upper_A.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet7 Textures\Upper_AC.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet7 Textures\Upper_M.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet7 Textures\Upper_N.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet11 Textures\Accesories 1__A.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet11 Textures\Accesories 1__AC.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet11 Textures\Accesories 1__M.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet11 Textures\Accesories 1__N.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet11 Textures\Boots__A.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet11 Textures\Boots__AC.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet11 Textures\Boots__M.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet11 Textures\Boots__N.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet11 Textures\Gloves__A.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet11 Textures\Gloves__AC.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet11 Textures\Gloves__M.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet11 Textures\Gloves__N.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet11 Textures\Headwear__A.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet11 Textures\Headwear__AC.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet11 Textures\Headwear__M.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet11 Textures\Headwear__N.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet11 Textures\Lower__A.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet11 Textures\Lower__AC.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet11 Textures\Lower__M.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet11 Textures\Lower__N.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet11 Textures\Upper__A.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet11 Textures\Upper__AC.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet11 Textures\Upper__M.tga
Atavism demo\DragonsanStudios\Human\Textures\ArmourSet11 Textures\Upper__N.tga
Atavism demo\DragonsanStudios\Human\Textures\StarterSet_Textures\Feet\StarterOutfitFeet_A.tga
Atavism demo\DragonsanStudios\Human\Textures\StarterSet_Textures\Feet\StarterOutfitFeet_AC.tga
Atavism demo\DragonsanStudios\Human\Textures\StarterSet_Textures\Feet\StarterOutfitFeet_M.tga
Atavism demo\DragonsanStudios\Human\Textures\StarterSet_Textures\Feet\StarterOutfitFeet_N.tga
Atavism demo\DragonsanStudios\Human\Textures\StarterSet_Textures\Legs\StarterOutfitLegs_A.tga
Atavism demo\DragonsanStudios\Human\Textures\StarterSet_Textures\Legs\StarterOutfitLegs_AC.tga
Atavism demo\DragonsanStudios\Human\Textures\StarterSet_Textures\Legs\StarterOutfitLegs_M.tga
Atavism demo\DragonsanStudios\Human\Textures\StarterSet_Textures\Legs\StarterOutfitLegs_N.tga
Atavism demo\DragonsanStudios\Human\Textures\StarterSet_Textures\Torso\StarterOutfitTorso_A.tga
Atavism demo\DragonsanStudios\Human\Textures\StarterSet_Textures\Torso\StarterOutfitTorso_AC.tga
Atavism demo\DragonsanStudios\Human\Textures\StarterSet_Textures\Torso\StarterOutfitTorso_M.tga
Atavism demo\DragonsanStudios\Human\Textures\StarterSet_Textures\Torso\StarterOutfitTorso_N.tga
Atavism demo\DragonsanStudios\Orc\Female\Body Textures\Original\F_Orc_Body_A 1.tga
Atavism demo\DragonsanStudios\Orc\Female\Body Textures\Original\F_Orc_eyes_A 1.tga
Atavism demo\DragonsanStudios\Orc\Female\Body Textures\Original\F_Orc_Head_A 1.tga
Atavism demo\DragonsanStudios\Orc\Female\Body Textures\Original\F_Orc_underwear_A 1.tga
Atavism demo\DragonsanStudios\Orc\Female\Body Textures\F_Orc Hair_A.tga
Atavism demo\DragonsanStudios\Orc\Female\Body Textures\F_Orc Hair_M 1.tga
Atavism demo\DragonsanStudios\Orc\Female\Body Textures\F_Orc Hair_M.tga
Atavism demo\DragonsanStudios\Orc\Female\Body Textures\F_Orc_Body_A.tga
Atavism demo\DragonsanStudios\Orc\Female\Body Textures\F_Orc_Body_M.tga
Atavism demo\DragonsanStudios\Orc\Female\Body Textures\F_Orc_Body_N.tga
Atavism demo\DragonsanStudios\Orc\Female\Body Textures\F_Orc_eyes_A.tga
Atavism demo\DragonsanStudios\Orc\Female\Body Textures\F_Orc_eyes_M.tga
Atavism demo\DragonsanStudios\Orc\Female\Body Textures\F_Orc_eyes_N.tga
Atavism demo\DragonsanStudios\Orc\Female\Body Textures\F_Orc_Head_A.tga
Atavism demo\DragonsanStudios\Orc\Female\Body Textures\F_Orc_Head_M.tga
Atavism demo\DragonsanStudios\Orc\Female\Body Textures\F_Orc_Head_N.tga
Atavism demo\DragonsanStudios\Orc\Female\Body Textures\F_Orc_underwear_A.tga
Atavism demo\DragonsanStudios\Orc\Female\Body Textures\F_Orc_underwear_M.tga
Atavism demo\DragonsanStudios\Orc\Female\Body Textures\F_Orc_underwear_N.tga
Atavism demo\DragonsanStudios\Orc\Female\Body Textures\Hair_N.tga
Atavism demo\DragonsanStudios\Orc\Female\FBX\Orc_Female.fbx
Atavism demo\DragonsanStudios\Orc\Female\Materials\F_Orc_Eyes.mat
Atavism demo\DragonsanStudios\Orc\Female\Materials\F_Orc_Feet.mat
Atavism demo\DragonsanStudios\Orc\Female\Materials\F_Orc_Hair_001.mat
Atavism demo\DragonsanStudios\Orc\Female\Materials\F_Orc_Hands.mat
Atavism demo\DragonsanStudios\Orc\Female\Materials\F_Orc_Head.mat
Atavism demo\DragonsanStudios\Orc\Female\Materials\F_Orc_Legs.mat
Atavism demo\DragonsanStudios\Orc\Female\Materials\F_Orc_Mouth.mat
Atavism demo\DragonsanStudios\Orc\Female\Materials\F_Orc_Torso.mat
Atavism demo\DragonsanStudios\Orc\Female\Materials\F_Orc_Underwear.mat
Atavism demo\DragonsanStudios\Orc\Female\Materials\F_Orc_Underwear_Bra.mat
Atavism demo\DragonsanStudios\Orc\Female\Materials\F_Orc_Underwear_Loin.mat
Atavism demo\DragonsanStudios\Orc\Female\Materials\M_Orc_Beard.mat
Atavism demo\DragonsanStudios\Orc\Female\Materials\M_Orc_Body.mat
Atavism demo\DragonsanStudios\Orc\Female\Materials\M_Orc_Eyes.mat
Atavism demo\DragonsanStudios\Orc\Female\Materials\M_Orc_Feet.mat
Atavism demo\DragonsanStudios\Orc\Female\Materials\M_Orc_Hair.mat
Atavism demo\DragonsanStudios\Orc\Female\Materials\M_Orc_Hands.mat
Atavism demo\DragonsanStudios\Orc\Female\Materials\M_Orc_Head.mat
Atavism demo\DragonsanStudios\Orc\Female\Materials\M_Orc_Legs.mat
Atavism demo\DragonsanStudios\Orc\Female\Materials\M_Orc_Mouth.mat
Atavism demo\DragonsanStudios\Orc\Female\Materials\M_Orc_UnderWear.mat
Atavism demo\DragonsanStudios\Orc\Female\Materials\Male_Orc_Beard_A.mat
Atavism demo\DragonsanStudios\Orc\Female\Materials\Male_Orc_Beard_B.mat
Atavism demo\DragonsanStudios\Orc\Female\Materials\Male_Orc_Beard_C.mat
Atavism demo\DragonsanStudios\Orc\Female\Materials\Male_Orc_Beard_D.mat
Atavism demo\DragonsanStudios\Orc\Female\Materials\Male_Orc_Beard_E.mat
Atavism demo\DragonsanStudios\Orc\Female\Materials\Orc_Female_Hair_A.mat
Atavism demo\DragonsanStudios\Orc\Female\Materials\Orc_Female_Hair_B.mat
Atavism demo\DragonsanStudios\Orc\Female\Materials\Orc_Female_Hair_C.mat
Atavism demo\DragonsanStudios\Orc\Female\Materials\Orc_Female_Hair_D.mat
Atavism demo\DragonsanStudios\Orc\Female\Materials\Orc_Female_Hair_E.mat
Atavism demo\DragonsanStudios\Orc\Female\Materials\Orc_Male_Hair_A.mat
Atavism demo\DragonsanStudios\Orc\Female\Materials\Orc_Male_Hair_B.mat
Atavism demo\DragonsanStudios\Orc\Female\Materials\Orc_Male_Hair_C.mat
Atavism demo\DragonsanStudios\Orc\Female\Materials\Orc_Male_Hair_D.mat
Atavism demo\DragonsanStudios\Orc\Female\Materials\Orc_Male_Hair_E.mat
Atavism demo\DragonsanStudios\Orc\Female\Materials\Orc1_Boots.mat
Atavism demo\DragonsanStudios\Orc\Female\Materials\Orc1_Gauntlets.mat
Atavism demo\DragonsanStudios\Orc\Female\Materials\Orc1_Helmet.mat
Atavism demo\DragonsanStudios\Orc\Female\Materials\Orc1_Legs.mat
Atavism demo\DragonsanStudios\Orc\Female\Materials\Orc1_Shoulders.mat
Atavism demo\DragonsanStudios\Orc\Female\Materials\Orc1_Torso.mat
Atavism demo\DragonsanStudios\Orc\Female\Materials\Untitled.mat
Atavism demo\DragonsanStudios\Orc\Male\Body Textures\Original\M_Orc_Body_A 1.tga
Atavism demo\DragonsanStudios\Orc\Male\Body Textures\Original\M_Orc_cloth_A 1.tga
Atavism demo\DragonsanStudios\Orc\Male\Body Textures\Original\M_Orc_eyes_A 1.tga
Atavism demo\DragonsanStudios\Orc\Male\Body Textures\Original\M_Orc_Head_A 1.tga
Atavism demo\DragonsanStudios\Orc\Male\Body Textures\Original\M_Orc_Mouth_A 1.tga
Atavism demo\DragonsanStudios\Orc\Male\Body Textures\M_Orc_Beard_A.tga
Atavism demo\DragonsanStudios\Orc\Male\Body Textures\M_Orc_Beard_M.tga
Atavism demo\DragonsanStudios\Orc\Male\Body Textures\M_Orc_Beard_N.tga
Atavism demo\DragonsanStudios\Orc\Male\Body Textures\M_Orc_Beard_S.tga
Atavism demo\DragonsanStudios\Orc\Male\Body Textures\M_Orc_Body_A.tga
Atavism demo\DragonsanStudios\Orc\Male\Body Textures\M_Orc_Body_M.tga
Atavism demo\DragonsanStudios\Orc\Male\Body Textures\M_Orc_Body_N.tga
Atavism demo\DragonsanStudios\Orc\Male\Body Textures\M_Orc_cloth_A.tga
Atavism demo\DragonsanStudios\Orc\Male\Body Textures\M_Orc_cloth_M.tga
Atavism demo\DragonsanStudios\Orc\Male\Body Textures\M_Orc_cloth_N.tga
Atavism demo\DragonsanStudios\Orc\Male\Body Textures\M_Orc_eyes_A.tga
Atavism demo\DragonsanStudios\Orc\Male\Body Textures\M_Orc_eyes_M.tga
Atavism demo\DragonsanStudios\Orc\Male\Body Textures\M_Orc_eyes_N.tga
Atavism demo\DragonsanStudios\Orc\Male\Body Textures\M_Orc_Head_A.tga
Atavism demo\DragonsanStudios\Orc\Male\Body Textures\M_Orc_Head_M.tga
Atavism demo\DragonsanStudios\Orc\Male\Body Textures\M_Orc_Head_N.tga
Atavism demo\DragonsanStudios\Orc\Male\Body Textures\M_Orc_Mouth_A.tga
Atavism demo\DragonsanStudios\Orc\Male\Body Textures\M_Orc_Mouth_M.tga
Atavism demo\DragonsanStudios\Orc\Male\Body Textures\M_Orc_Mouth_N.tga
Atavism demo\DragonsanStudios\Orc\Male\Body Textures\moss njob2.tga
Atavism demo\DragonsanStudios\Orc\Male\Body Textures\Orc Male_Hair_A.tga
Atavism demo\DragonsanStudios\Orc\Male\Body Textures\Orc Male_Hair_M 1.tga
Atavism demo\DragonsanStudios\Orc\Male\Body Textures\Orc Male_Hair_M 1-1.tga
Atavism demo\DragonsanStudios\Orc\Male\Body Textures\Orc Male_Hair_M.tga
Atavism demo\DragonsanStudios\Orc\Male\Body Textures\Orc Male_Hair_N.tga
Atavism demo\DragonsanStudios\Orc\Male\FBX\Orc_Male.fbx
Atavism demo\DragonsanStudios\Orc\Textures\ArmourSet1_Textures\Feet_A.tga
Atavism demo\DragonsanStudios\Orc\Textures\ArmourSet1_Textures\Feet_AC.tga
Atavism demo\DragonsanStudios\Orc\Textures\ArmourSet1_Textures\Feet_M.tga
Atavism demo\DragonsanStudios\Orc\Textures\ArmourSet1_Textures\Feet_N.tga
Atavism demo\DragonsanStudios\Orc\Textures\ArmourSet1_Textures\HandsWrists_A.tga
Atavism demo\DragonsanStudios\Orc\Textures\ArmourSet1_Textures\HandsWrists_AC.tga
Atavism demo\DragonsanStudios\Orc\Textures\ArmourSet1_Textures\HandsWrists_M.tga
Atavism demo\DragonsanStudios\Orc\Textures\ArmourSet1_Textures\HandsWrists_N.tga
Atavism demo\DragonsanStudios\Orc\Textures\ArmourSet1_Textures\Helmet_A.tga
Atavism demo\DragonsanStudios\Orc\Textures\ArmourSet1_Textures\Helmet_M.tga
Atavism demo\DragonsanStudios\Orc\Textures\ArmourSet1_Textures\Helmet_N.tga
Atavism demo\DragonsanStudios\Orc\Textures\ArmourSet1_Textures\Legs_A.tga
Atavism demo\DragonsanStudios\Orc\Textures\ArmourSet1_Textures\Legs_AC.tga
Atavism demo\DragonsanStudios\Orc\Textures\ArmourSet1_Textures\Legs_M.tga
Atavism demo\DragonsanStudios\Orc\Textures\ArmourSet1_Textures\Legs_N.tga
Atavism demo\DragonsanStudios\Orc\Textures\ArmourSet1_Textures\Shoulders_A.tga
Atavism demo\DragonsanStudios\Orc\Textures\ArmourSet1_Textures\Shoulders_AC.tga
Atavism demo\DragonsanStudios\Orc\Textures\ArmourSet1_Textures\Shoulders_M.tga
Atavism demo\DragonsanStudios\Orc\Textures\ArmourSet1_Textures\Shoulders_N.tga
Atavism demo\DragonsanStudios\Orc\Textures\ArmourSet1_Textures\Torso_A.tga
Atavism demo\DragonsanStudios\Orc\Textures\ArmourSet1_Textures\Torso_AC.tga
Atavism demo\DragonsanStudios\Orc\Textures\ArmourSet1_Textures\Torso_M.tga
Atavism demo\DragonsanStudios\Orc\Textures\ArmourSet1_Textures\Torso_N.tga
Dragonsan\AtavismObjects\Scripts\GameObject Components\Editor\AtavismMobSpawnMarkerGeneratorEditor.cs
Dragonsan\AtavismObjects\Scripts\GameObject Components\AtavismMobSpawnMarkerGenerator.cs
Resources\Content\EquipmentDisplay\Uma\Mage\UmaMage02Boots 1.prefab
Resources\Content\EquipmentDisplay\Uma\Mage\UmaMage02Boots 2.prefab
Resources\Content\EquipmentDisplay\Uma\Mage\UmaMage02Gloves 1.prefab
Resources\Content\EquipmentDisplay\Uma\Mage\UmaMage02Gloves 2.prefab
Resources\Content\EquipmentDisplay\Uma\Mage\UmaMage02Hood 1.prefab
Resources\Content\EquipmentDisplay\Uma\Mage\UmaMage02Hood 2.prefab
Resources\Content\EquipmentDisplay\Uma\Mage\UmaMage02Lower 1.prefab
Resources\Content\EquipmentDisplay\Uma\Mage\UmaMage02Lower 2.prefab
Resources\Content\EquipmentDisplay\Uma\Mage\UmaMage02Shoulder 1.prefab
Resources\Content\EquipmentDisplay\Uma\Mage\UmaMage02Shoulder 2.prefab
Resources\Content\EquipmentDisplay\Uma\Mage\UmaMage02Upper 1.prefab
Resources\Content\EquipmentDisplay\Uma\Mage\UmaMage02Upper 2.prefab
Resources\Content\EquipmentDisplay\Uma\Ranger\UmaRanger02Boots 1.prefab
Resources\Content\EquipmentDisplay\Uma\Ranger\UmaRanger02Boots 2.prefab
Resources\Content\EquipmentDisplay\Uma\Ranger\UmaRanger02Gloves 1.prefab
Resources\Content\EquipmentDisplay\Uma\Ranger\UmaRanger02Gloves 2.prefab
Resources\Content\EquipmentDisplay\Uma\Ranger\UmaRanger02Hood 1.prefab
Resources\Content\EquipmentDisplay\Uma\Ranger\UmaRanger02Hood 2.prefab
Resources\Content\EquipmentDisplay\Uma\Ranger\UmaRanger02Lower 1.prefab
Resources\Content\EquipmentDisplay\Uma\Ranger\UmaRanger02Lower 2.prefab
Resources\Content\EquipmentDisplay\Uma\Ranger\UmaRanger02Shoulder 1.prefab
Resources\Content\EquipmentDisplay\Uma\Ranger\UmaRanger02Shoulder 2.prefab
Resources\Content\EquipmentDisplay\Uma\Ranger\UmaRanger02Upper 1.prefab
Resources\Content\EquipmentDisplay\Uma\Ranger\UmaRanger02Upper 2.prefab
Resources\Content\EquipmentDisplay\Uma\Warrior\UmaWarrior02Boots 1.prefab
Resources\Content\EquipmentDisplay\Uma\Warrior\UmaWarrior02Boots 2.prefab
Resources\Content\EquipmentDisplay\Uma\Warrior\UmaWarrior02Gloves 1.prefab
Resources\Content\EquipmentDisplay\Uma\Warrior\UmaWarrior02Gloves 2.prefab
Resources\Content\EquipmentDisplay\Uma\Warrior\UmaWarrior02Hood 1.prefab
Resources\Content\EquipmentDisplay\Uma\Warrior\UmaWarrior02Hood 2.prefab
Resources\Content\EquipmentDisplay\Uma\Warrior\UmaWarrior02Lower 1.prefab
Resources\Content\EquipmentDisplay\Uma\Warrior\UmaWarrior02Lower 2.prefab
Resources\Content\EquipmentDisplay\Uma\Warrior\UmaWarrior02Shoulder 1.prefab
Resources\Content\EquipmentDisplay\Uma\Warrior\UmaWarrior02Shoulder 2.prefab
Resources\Content\EquipmentDisplay\Uma\Warrior\UmaWarrior02Upper 1.prefab
Resources\Content\EquipmentDisplay\Uma\Warrior\UmaWarrior02Upper 2.prefab

Updated Files (109)

Dragonsan\AtavismEditor\Editor\Data Structures\MobSpawnData.cs
Dragonsan\AtavismObjects\Scripts\GameObject Components\Editor\AtavismMobSpawnMarkerEditor.cs
Dragonsan\AtavismObjects\Scripts\GameObject Components\AtavismMobSpawnMarker.cs
Dragonsan\AtavismObjects\Scripts\GameObject Components\ClaimObject.cs
Dragonsan\Easy Build System for Atavism\Features\Scripts\Core\Base\Builder\BuilderBehaviour.cs
Dragonsan\Easy Build System for Atavism\Features\Scripts\Core\Base\Builder\BuilderDesktopInput.cs
Dragonsan\Easy Build System for Atavism\Features\Scripts\Extensions\MaterialExtension.cs
NatureManufacture Assets\Advanced Rock Pack Trial\Rocks\Materials\M_Atlas_Middle_Rocks_01.mat
NatureManufacture Assets\Advanced Rock Pack Trial\Rocks\Materials\M_Atlas_Small_Rocks_01.mat
NatureManufacture Assets\Advanced Rock Pack Trial\Rocks\Materials\M_Atlas_Small_Rocks_01Resources.mat
NatureManufacture Assets\Mountain Tree Pack Trial\Foliage Trial\Materials\M_Fir_01_Cross Snow.mat
NatureManufacture Assets\Mountain Tree Pack Trial\Foliage Trial\Materials\M_Fir_03_Cross Snow.mat
NatureManufacture Assets\Mountain Tree Pack Trial\Foliage Trial\Materials\M_Fir_05_Cross Snow.mat
NatureManufacture Assets\Mountain Tree Pack Trial\Foliage Trial\Materials\M_Fir_Bark_01_Snow.mat
NatureManufacture Assets\Mountain Tree Pack Trial\Foliage Trial\Materials\M_Fir_Bark_02_Snow.mat
NatureManufacture Assets\Mountain Tree Pack Trial\Foliage Trial\Materials\M_Fir_Leaves Snow.mat
OtherPackages\Horse\Model\Horse Animator Controller New.controller
Resources\Buildings\Levels of Building (AquariusMax)\Advanced House Stages\Stage_5_Lvl_3_(Completed).prefab
Resources\Buildings\Levels of Building (AquariusMax)\AquariusMaxEBS\Door_Wall_A4.prefab
Resources\Buildings\Levels of Building (AquariusMax)\AquariusMaxEBS\Floor_A3.prefab
Resources\Buildings\Levels of Building (AquariusMax)\AquariusMaxEBS\Foundation_A3.prefab
Resources\Buildings\Levels of Building (AquariusMax)\AquariusMaxEBS\Straight_Wall_A4.prefab
Resources\Buildings\Levels of Building (AquariusMax)\AquariusMaxEBS\Window_Wall_A4.prefab
Resources\Buildings\Levels of Building (AquariusMax)\Shed Stages\Shed_Build_6_Final.prefab
Resources\Buildings\Levels of Building (AquariusMax)\Simple House Stages\SimpleStage_1_Lvl_6_(Completed).prefab
Resources\Content\EquipmentDisplay\Uma\Default Armor\Boots.prefab
Resources\Content\EquipmentDisplay\Uma\Default Armor\Pants.prefab
Resources\Content\EquipmentDisplay\Uma\Default Armor\Shirt.prefab
Resources\Content\EquipmentDisplay\Example EquipmentDisplay.prefab
Resources\Legacy Horse Variant.prefab
Standard Assets\Atavism Core\Base\AtavismClient.cs
Standard Assets\Atavism Core\Base\AtavismObjectNode.cs
Standard Assets\Atavism Core\Base\AtavismPathInterpolator.cs
Standard Assets\Atavism Core\Base\AtavismPlayer.cs
Standard Assets\Atavism Core\Base\AtavismWorldManager.cs
Standard Assets\Atavism Core\Networking\AtavismNetworkHelper.cs
Standard Assets\Atavism Core\Networking\MessageTypes.cs
Standard Assets\Atavism Core\NetworkAPI.cs

Deleted Files (1)