Why Atavism Online ?
The most advanced MMORPG platform ever
Scalability
Multi tenant software architecture, including dedicated proxy server and separated plugins along with relational database allows you to scale your environment to your needs
Modular design
Creativity in your hands
Server source code for plugins called AGIS is opened for you. It allows you to be as much creative as you want by designing your own modules and plugins and it''s limited only to your imagination and inventions
Royalty Free
How to start
Just a few steps to start your journey with Atavism
ATAVISM ONLINE LICENSES
Atavism Flexible Subscription License
Atavism X On-Premises Standard Subscription (14 days trial included)
$29/30 days
- Allows 100 Concurrent Users
- Unlimited servers and environments up to the CCU limit
- Comes with Atavism X server software you can host wherever you want
- Comes with Atavism X Standalone Editor for Windows/Mac/Linux
- Comes with Atavism X Editor for Unity
- Full Atavism Demo Unity files same as in Atavism Live Server Demo Setup
- Access to Atavism Plugin server code (AGIS)
- Access to updates
- Pay as you go
- Scale it (downgrade or upgrade) on demand
- Test it for 14 days without any commitments
- Cancel at any time
- No termination fees
Atavism Permanent License
Atavism X On-Premises Standard
$499
- Allows 1000 Concurrent Users (can be stacked up to increase the limit)
- Unlimited servers and environments up to the CCU limit
- Comes with Atavism X server software you can host wherever you want
- Comes with Atavism X Standalone Editor for Windows/Mac/Linux
- Comes with Atavism X Editor for Unity
- Full Atavism Demo Unity files same as in Atavism Live Server Demo Setup
- Access to Atavism Plugin server source code (AGIS)
- 180 days of free updates included
ATAVISM FEATURES OVERVIEW
Customizable and extendable
Data Base Plugin
Setup your database information and be able to link directly to it through the editor which allows you to do changes instantly to things pertaining to your MMO game.
Server authoritative
Reduce bandwidth some actions are checked on the client first and if they will be allowed by the client-server is double checking them. It also reduces bandwidth.
NPCs and Mobs
Allows you to define not only different models, but different attributes like damage, abilities which will they will use and cases when like when health will reach some level use Ability 1, when it will drop below even lower level and use different Ability 2, etc., you can adjust all attributes which are present in the Stats, so sky is the limit.
Quest system
Customize and adjust Quests to your needs, you can set requirements like player level or another quest as a prerequired, you can set multiple guaranteed rewards like items, currency, experience, but you can also set optional reward where a player will be able to pick one of the rewards. As quest objectives you can set killing mobs, mob group, getting an item or task where for example a player would have to scout some area or areas on your map.
Skills Plugin
The player can have multiple skills combat and non-combat as well for gathering resources and craft items. Skills can be leveled and based on the level you can increase damage taken by abilities, or you can allow to craft or gather more powerful items and resources. Also, they can depend on each other, for example, to learn Meteor Shower your player would have to Improve his pyromancy skill to level 5 for example.
Coord Effects Plugin
This element allows you to configure VFX and SFX representation for combat, like particles, play animations, instantiate objects when you are casting fireball then it should move from your casters hand towards your enemy etc.
Crafting system
Design Your crafting recipes up to 16 ingredients. You can also setup crafting skill required for the specific recipe along with the crafting table. There is also an option to define different chance for a different result like 100% chances for a common sword, 50% chances for a magic sword, 5% chances for a rare sword, and 0,1% chances for a legendary sword.
Build Objects system
Powerful element where you can define buildings with stages, where at the end (last stage) some effect will start to work on that building, like you can build bank building, starting from foundation and when you will reach the last stage of it you will be able to store items in it (like extra bag).
Graveyard system
You can spawn/respawn your players where they will bind like to obelisk or shrine, or use graveyard system, put graveyard objects in your scene and respawn your players in the nearest one.
Interactive objects
The powerful element which allows you to define objects like doors to be open or close (synchronized), teleport entrance, apply an effect like buff or debuff, start a quest or complete task (quest objective).
Regions
Similar to Interactive Objects but works based on client collision, so enter the region and teleport your player to a different instance, apply an effect, dismount, and more.
Grouping
You can set the number of group members, you can invite, promote and kick. Also, some instances can be set as a group dungeon to allow only groups to enter, also an experience which you are getting for defeating mobs in the group is higher, but divided by group members.
Mounts
Saddle your horse or dragon and travel through the world. Set additional effect while mounted.
Pets
Summon combat or non-combat pets, set its behavior like aggressive, defensive, passive, follow the master, attack, etc. You can summon them by using item or ability.
Server-Side NavMesh
Item Sets
Minimap
Minimap allows you to use marks, tracking icons for quests (start, complete, continue), banks, mobs, define big map, and more.
Socketing System
Socketing System allows you to define types and amounts of sockets per type basis like runes, gems, etc.
RANKINGS
Rankings system allows you to present top players within certain groups like most killers, crafters, harvesters, and more.
PREMIUM ACCOUNT (VIP)
VIP system allows you to define tiers and levels with separate bonuses for each level.
PLAYER SHOPS
Instances
Chat with channels
Dedicated chat solution with Global, Combat, Events, Guild and Group channels but not only limited to that, but you can also speak instance wide, or worldwide and you can send whispers, group and guild invitations and much more. It allows you to use admin commands for getting items, change instance, teleport, send server announcements and even fly, the full list can be found here. You can also link items and abilities on chat.
Looting system
Define loot items and attach them to the particular mob, automatically quest items won''t be dropped for the player which doesn''t have the quest for them. You can set a chance and set multiple loot tables for one mob with a different chance for each and with a different chance for each item inside each loot table. There are two possible loot systems (traditional with loot distribution within the group, and personal loot system for every player)
Dialogue system
Create different dialogues for your NPC''s. You can also use this system to allow multiple outcomes in the storyline depending on what a player chooses while speaking to an NPC or even allow access to certain quests only if a player asks an NPC certain questions. You can assign various actions like Bank, Quest, Merchant, Repair, Use Ability (to buff or do something on the player), Guild Warehouse, Guild Merchant, Auction House, or Mail. Any of these actions can have requirements, cost (currency or item) and can have voice over assigned.
Abilities Plugin
Stats system
Very powerful system which allows you to adjust and define your own attributes like Strength, Health, Mana, Defense, but there is no limit for the stats, you can have as many as you want, and you can set them as a resistance, damage, vitality to be added or reduced over time like when you are swimming you would reduce your breath and after it will reach minimum value take a damage, all within the graphics interface, all predefined attributes can be found here.
Arena Plugin
Define PvP arenas, One vs One or Group vs Group, assign players to the queue and join their path of blood and combat. Define victory conditions (number of kills), time limit, time frame and required player levels to enter the battlefield.
Merchant Tables Plugin
Define your NPC merchants their stock and refresh time.
Damage Plugin
Define different types of damage and their resistances.
Resource Nodes
Gather resources, play animations and sound, set chance for drops and when you exhausted them they will be removed by the server. You can require pickaxe or hatched in your players hands to gather or cut the tree, or particular skill level like woodcutting skill 100 to cut bigger tree.
Integrations
Allows you to easily implement 3rd party packages like World Streamer 1 and 2, i2Localization, Master Audio AAA, World API, Enviro Sky & Weather, and Postprocessing Stack
Guild system
Allows you to create a guild, invite guild members, promote, demote them, set permissions, and use guild chat as well as new guild private instance where guild members can enter their own "world" and do some special guild quests or build their housing. You can also level your guild to get access to the guild quests, increase guild warehouse storage, or purchase better items from a guild merchant.
Level XP system
Game settings
Over 70 global parameters ready to adjust, like a number of bags for the player, world time speed, related to combat, world, inventory, faction, aggro, resources, crafting, skills and more.
Crafting - Recipe Book
Remote authenticator
ACHIEVEMENTS
Achievements system allows you to define various conditions like kill mobs, gear score, craft items, get experience, harvest, use abilities to get specific achievement and bonuses assigned for it. You can also show off your Achievement Title that you were able to complete it.
BONUS System
Bonus system lets you define 18 different bonuses with values and percentages like experience loss after players death, experience from killing mobs, chance for loot, a chance for enchanting, cost of enchanting, time of enchanting, a chance for socketing and much more. You can attach these bonuses to abilities, items, and effects.
User account management
Set admin privileges or ban a user for bad behavior, this module was made for such tasks.
Factions
This system allows you to set relations between races or even classes, for example, Humans can be friendly vs Elves, natural vs Dwarves but enemies vs Orcs or Devils.
Items system
You can have weapons, armors, consumables, bags, items can have requirements like player level or stat, a two-handed sword can require some value of strength, or powerful bow higher dexterity etc..Items can start quests, can be equipped, can change your auto attack, like the default for your character can be like using fists only but when you equip a bow you will start shooting arrows towards your enemies. They can give you currency like a bag of gold, you can randomly create item(s) like an open bag of goods to get randomly generated items. Also, you can define gear score and durability which lets you destroy and repair items.
Effects Plugin
After checks in Abilities, the actual effect applies, like damage, what type of damage, fire, crash, pierce, etc. all is configurable. You can pick one of 20 effects like Damage, Restore, Revive, Stat, Stun, Sleep, Immune, Morph, Dispel, Teleport, Mount, Build Object, Teach Ability, Teach Skill, Task, Threat, Create Item, Create Item from List(Loot), Spawn, Set Respawn Location. Each has its own configuration and you can adjust it to your needs, for example, damage can be Physical or Magical, instant or over time with pulses or flat damage, can take damage like health but can reduce other "vitality" statistics like mana, for example for mana drain effects. You can adjust bonus effects, like if the caster has some buff on him then, in addition, apply some effect on the target. Or if the player has some divine power buff then his health will be stronger etc.
Player Character Plugin
Setup what races, stats, and classes you want your players to start with as well as where you want them to spawn and how you want starter characters to look like. You can also define permanent death for your characters.
Option Choices
dictionary manager which allows you to add new weapon types, races, classes and more.
Currencies
Allows you to define the whole kind of currencies for your players where they can be also automatically converted by changing for example 100 copper into 1 silver as a most common solution, but all are adjustable. It also gives you an ability to define one premium currency which is account wide.
Trading system
Trade with other players, you can exchange items and currencies, but you can also use the trade system with NPC where you can purchase defined by game designer items.
Race system
Allows you to define not only race but its special attribute values, like Humans can be most balanced while Orcs or Giants can have more strength and less intelligence. They can have different starting and respawning locations.
Class system
Define new classes and you can even set some classes special for the race like Orcs could never be good Archers or Rouges.
Mailing system
You can send mails with items and currencies to other players, but also you can receive administrator mails with for example purchased items from the store.
Dynamic quadtree
Allows you to define how far your player will see another Mobs/NPCs/Players, the quad will be automatically adjusted and divided in depth if too many objects are in one quad, to improve your clients performance.
Inventory system
Built-in backpack system with character inventory system: weapons (main hand, off hand, two hands, armors (gloves, boots, helmet, chest, pants, shoulders) jewelry (necklace, earrings, rings) and ammunition for bows or pistols. You can stack items, define the amount of bags, their slots, and more.
Day & Night & Weather
Thanks to our partner Hendrik Haupt (author of Enviro Sky & Weather), Atavism has dedicated out of the box Enviro for Atavism Limited Edition (includes all Enviro features except Volumetric clouds and Volumetric lights). This system uses Adams Goodrich free WAPI integration, so you can use CTS or any terrain shader, or even Global Snow from Kronnect to cover your terrain and objects with snow, start falling snow from the sky and all synchronized between clients. You can define weather profiles and set a month for which the server applies them. You can define the priority for each, so snow can be preferred 10 times more than the sunny profile. You can set how fast the server time will move, and much more.
Enchanting
Auction House
Loading Screen
Social System
TALENTS System
Similarly to Skills, you can define talent points, reset them using define an item, assign abilities and effects for make them active or passive. You can also assign bonuses for them, and define requirements like Talent 3 can require Talent 1 on level 5, and Talent 2 on level 3, etc. It''s a very configurable and powerful system.
Unity Client
Develop with ease
Atavism Online Overview
Best for MMORPG
Conceptually, there are two levels of architecture: the master server which can control accounts, world server details for multiple worlds, and individual game worlds.
NETWORK ARCHITECTURE
Atavism uses mixed TCP and UDP protocols to handle network traffic, the login process is based on TCP while world messaging is based on UDP as this is the only way to handle a significant amount of traffic. To offload networking Atavism uses a number of performance enhancements like Dynamic Quadtree which limits the number of entities required for streaming around the player, packets aggregation, to reduce the number of packets, native Unity prefabs system to read less important data from the client, and present them like tooltips for items. etc., but also the server uses the caching system, so for performance reasons it loads static data from the database during startup, to work on them, and handles database operations only if necessary, mostly for dynamic content like player progression. Atavism also lets you split the workload of the world server into 17 functional servers like combat, mobs, auction house, and proxy, to just name a few.
LOGIN PROCESS
A user logs in to the Master Server (authentication server), using credentials, and connects to the newest login manager which is part of the world server infrastructure (can be on a separate server as well). At this stage, the user can change the world server if there is more than one, and create a character within a particular world server, and enter the world. The login process can be secured by an SSL certificate.
WORLD ARCHITECTURE
Once a user is logged in to the Master Server, he can enter any world for which he is authorized. Each game world runs on a suite of world servers.
The world-specific servers consist of:
- Proxy server: handles communication between the client and all other services.
- Authentication Server: handles user authentications.
- Login server: character selection and creation.
- World Manager Server: controls a world's geography and what PCs and mobs can see using dynamic quadtree functionality.
- Object Manager Server: saves and retrieves permanent object data to and from the world database server. Communicates with the database using JDBC.
- World Database: contains all of the world's persistent information. By default, this is a MySQL/MariaDB database.
- Message Domain Server: facilitates messaging among server processes
- Mob Server: controls mobs and NPCs.
- Combat Server: controls combat functions.
- Inventory/Trading Server: controls objects and secures trading.
- Chat Server: handles all chat-related tasks, including saving all chat commands in the database or the log file.
- Weather Server: controls weather, randomization, and transition which can be adjusted per instance.
- Auction Server: handles auction house functionality.
- Quests Server: controls quests-related tasks.
- Instance Server: handles instances (world, dungeons, private, guild, etc.).
- Faction Server: defines states between entities based on the factions and their relations.
- Prefab Server: handles information about templates like items, effects, abilities, etc. including their icons.
You, control and operate all the above servers. They can run them on separate hardware platforms, if desired, for improved performance.
INSTANCES
The world is split up into one or more instances. An instance can be a single and contiguous zone defined by a single scene. There is no visibility between instances. except for groups, guilds, chat, and some global messaging. Moving between instances requires a loading screen.
ZONES
Zones are dynamically partitioned by a quad-tree. The topmost level of the quad-tree represents the entire zone, which is then divided into 4 equal-sized regions by the quad-tree. The four new regions cumulatively cover the entire space of its parent node. As leaf nodes (nodes that have no children) become populated by objects and users, the server will further subdivide regions using the same algorithm. All objects are placed into the quad-tree to make it easier to find out what is near an object. This allows the server to consider only a subset of all objects it knows about when performing distance checks. For example, when a user moves around and comes close to an object, the server tells the client about the new object. Using the quad-tree nodes, the server compares the client's distance only with objects within the user's current quad-tree node and adjacent ones which are within the user perception range.
MULTIPLE INSTANCES/ZONES
When do you need a new instance (as opposed to a quad-tree region)? When you cannot fit your content into an existing instance, you need to create a new instance. This may happen in the following scenarios: your world is extremely big or the new area does not occupy the same space, as is with instanced dungeons, or you enter a house that is bigger than its physical structure. Instances are also used to partition large player populations or create private spaces. When a PC moves from one area to another, it is called instancing or zoning. The client will switch to a loading screen while it's loading the new zone. Game developers have to keep this in mind when designing gameplay. The client does not see or know about zones other than the ones it is occupying.
Atavism Online Server Architecture
Best Solid scalable solution
Atavism Online is a cluster of server processes designed to operate within a platform or cloud environment.
The newest Atavism servers are developed in Java 17 and a small portion is in Python. Most elements are multithreaded, to use the resources of your server in the most efficient way, and provide an amazing scalability level.
Servers connect to each other by agents that are subscribing to the domain server.