Other user's assetsAll the assets in this file belong to the author, or are from free-to-use modder's resources
Upload permissionYou are not allowed to upload this file to other sites under any circumstances
Modification permissionYou must get permission from me before you are allowed to modify my files to improve it
Conversion permissionYou are not allowed to convert this file to work on other games under any circumstances
Asset use permissionYou must get permission from me before you are allowed to use any of the assets in this file
Asset use permission in mods/files that are being soldYou are not allowed to use assets from this file in any mods/files that are being sold, for money, on Steam Workshop or other platforms
Asset use permission in mods/files that earn donation pointsYou must get permission to earn Donation Points for your mods if they use my assets
Author notes
This author has not provided any additional notes regarding file permissions
File credits
SKSE Team - http://skse.silverlock.org/ Bethesda Jaxonz SkyUI team for their AMAZING UI SDK: https://github.com/Mardoxx/skyrimui
Donation Points system
Please log in to find out whether this mod is receiving Donation Points
Changelogs
Version 2.4.2u6
-Set the default region to "us" to prevent issue with players not seeing each other. Additional region options can be found in "TamrielOnline.ini" by replacing "us" with one of the listed regions (eu, au, in, jp, etc...) the default region can be changed. Both users must have the same region prior to connecting. If you receive the error "Region error, please select a valid region.", try changing your region as it may be down for maintenance.
Version 2.4.2u5
-NPCs are synchronized from the exterior, and interior cell buffers to ensure "all" nearby NPCs are detected. Additionally a good chunk of overhead on the senders side has been removed, with NPC checks only occurring when data is being sent.
Version 2.4.2u4
-Removed attempts to move remote players to proper cells w/position synchronization, opted to move all the cached players whenever the local player changes location.
-Swapped menu checks to reduce crashing between load screen changes.
-Removed the "Sneak Pressed" message.
-A network id is randomly generated upon the first connection, that is used to identify the player instead of the player number used previously. As the player number is not a unique/reliable means of identifying the player across connects/disconnects/rooms.
-Moved all the player spawning code back to c++ to help address issues with players not appearing.
Version 2.4.2u3
Toggle to disable and enable NPC sync added to TamrielOnline.ini as a performance option. Additional stability improvements, and detection when moving between cells.
Version 2.4.2u2
Fix for key related issue, where keypress is not being detected.
Version 2.4.2u1
The networking engine has been changed to Photon, from Raknet. As a result separate server software is no longer needed. To play with this latest version you'll need to create a free account at: https://www.photonengine.com/en-US/Account/Signup.
Once created you'll need to copy your "App ID" into "TamrielOnline.ini", on both yours, and your friend's copy. After that, all you'll need to do is connect. Additionally there's been a huge number of bug fixes. Please provide feedback if possible, as my private testing provides limited insight.
On the main page you will now find a link to the mod's source on Github, feel free to use, modify, or contribute to the project as you see fit.
Version 2.4.1
Quest synchronization overhauled and re-enabled. Improvements to NPC synchronization, time sync, and weather. More general crash fixes, a fix for clothes not changing, and improvements to console command response. Improved mod startup detection.
Quest Sync
Quest sync previously relied on some pretty shaky use of console commands, and was a hefty burden to process on the receiving end. In this version the quests are accessed directly, filtered (to determine whether or not they need to be synced), and sent to other players. Once received, the quests are started, and their objectives completed one by one, until they reach the desired quest stage. This should be much better than just going to the desired quest stage, as it should allow preceding events to occur semi-properly. Let me know of any issues you encounter with the quest sync, as this was all done today after all the NPC and general networking work was finished for this update.
NPC Sync
As of late NPC sync has been eating through the bulk of my time, but this really needs to (at some point) reach a good balance of stability and function. To that end, basic interpolation has been added in an effort to take some stress off of the server. Additionally NPCs will now update more, or less often depending on their distance from the player. With NPCs farther from the player being updated rarely, and closer NPCs updated frequently. The timing for these updates is staggered so that the client is updating as small a list of NPCs as possible in a given frame. The goal being to take more stress off of the receiving clients.
Changes have been made to how NPCs are selected for synchronization. There was a lot of time spent trying to find out why random event NPCs were not being detected. A decent solution was found, as these NPCs do not seem to trigger the NPC spawn events, but they do dynamically show up in the player's cell buffer. So the mod now checks the player cell buffer for any NPCs not detected by the spawn events.
More work has also been done to prevent NPC related crashing; the mod now has safety measures that should keep it from processing NPC data at inopportune times, but these don't always work as the mod touches Skyrim's memory quite a bit, and quite frequently.
Time Sync & Weather Sync
Fixed some previous issues with time and weather not syncing due to the mod incorrectly detecting players as the master client.
Performance
You may, see a performance drop between the last version. All (the vast majority) of threading added by the mod has been removed. Synchronizing the threads for players worked well enough, but, with all the NPCs being processed it very quickly breaks down causing crashing. Especially with some of Skyrim's more context sensitive functions. The mod has been altered to run primarily from events, and Skyrim's main thread. There has also been some minor use of coroutines to keep skyrim from stalling on some of the heftier networking functions. I will be working on improving the performance in future updates, assuming that this version has fewer issues reported than the previous one.
The mod is also started using a different method, this should fix issues with the mod not starting up.
Clothes issue fixed, where clothes could not be removed, or correctly swapped.
Version 2.4.0u5
Extensively tested NPC sync, made much more stable, and efficient. Removed as much volatile code as possible, added additional failsafes to reduce issues caused by NPC sync, and carefully balanced out code efficiency vs stability.
Fixes for weather and time sync (small issue remains with time sync).
Most magic spells are now supported, spells will automatically equip on connect, and aim towards the desired direction.
Change how lock/unlocking is detected, is much more efficient. Side effect, some door opening issues (they will synchronize exactly)...
Extensive crash testing, I'm always hesitant to mention reductions in crashing due to the limited amount of testing I can do (even when I'm testing for days straight). That said, I've noticed much fewer crashes in the latest version.
Changed startup key detection again...
Update to the Nexus page, courtesy of KaptainTrite
Version 2.4.0u4
Changed the way NPC sync retrieves nearby NPC's, it SHOULD work with Random Encounters now. The new method is a bit more intensive, so there may be a performance hit on lower end PCs. This will require testing and feedback to confirm.
Upgraded to the latest SmartFox api in the client, and moved to the latest SmartFox server.
The client can now be installed from NMM. If you have issues activating the mod after disabling it, reinstall. Due to this change, manually installing the mod will require a little bit more work. As the files previously located in the main file directory are now located in the "fomod" folder.
Adjusting the port in "TamrielOnline.ini", now works as intended. Do not forget to change the server port in the smartfox settings files if you're changing the port from the default "9933".
Added in protections for crashing in-game. You should no longer crash if the server is closed, or when other players crash (this requires confirmation).
The server should automatically initiate a change of the host when someone goes offline in the same location.
Version 2.4.0u3
Unstable version. Re-enabled npc synchronization, it's a little bit wonky at the moment. Most of the hard work is done though, the next update will focus on fixing glitches, bugs, and adding in optimizations for npc sync. Once npc sync is satisfactory, there will be a few minor issues to take care of before returning to "stable" builds. (builds without all the debug information, more thoroughly tested, with quality of life fixes)
Version 2.4.0u2
Unstable version. Re-enabled idle synchronization, it should work for most, if not all non-combat animations (sleep. sit, work, etc..). Key presses are detected differently, TamrielOnline.ini updated with the new id's for the keys. Improved movement between hold interiors and exteriors (moving from inside Whiterun to outside for example). Improved movement synchronization between players.
Some more work has been done on NPC, and random encounters sync. That will likely be the focus of the next update.
Note: While the mod is more stable during gameplay it's gotten more finicky during startup, alt-tabbing during anytime before the "Press [Home] to connect" may cause the game to crash.
Version 2.4.0u1
Unstable build.
Networking update, the old networking framework has been replaced with SmartFox, and the code has all been rewritten.
This change should greatly improve the stability (CTD, other issues) of the mod. NPC Sync has been disabled, as it has not yet been 100% rewritten to work with the new networking framework. If all goes well, progress should be resuming where the last update left off, without all of the CTD's. Which should eliminate the need to do frequent stability updates. That said, there will likely be a few more unstable builds before then. If you are having trouble with the mod, Please download the latest visual studio redistributable. I have also provided a link at the top of the page.
A big thanks to KaptainTrite for help testing, informing the community, and convincing me to do this update. I had originally planned to wait until everything was 100% rewritten, so I hope everyone isn't too inconvenienced by the unstable builds preceding the full rewrite.
Version 2.3.2
Fix for issue causing players to not show up. Improved position synchronization. Fix for freeze on connect/disconnect. Fixes and improvement for mounts, non-horse mounts now sync.
Version 2.3.1
SKSE port, the mod no longer requires ScriptDragon, this should reduce CTD's and bugs. You may delete both ScriptDragon, and TamrielOnline.asi. Much less performance hungry server, with reduced crashing. Support for custom player animations, greatly reduced papyrus code. Activating anything synchronizes, not just levers.
Please note, this is the first full SKSE release. Nearly all the code has been rewritten/changed, there will likely still be some CTD issues, though on the whole it should be more stable.
Version 2.2.1
Quick fix for a headlook issue in the latest version. Please see 2.2.0's changelog for details on the latest version.
Version 2.2.0
Weather synchronization. Greatly reduced lag that occurred on death, and when the "no pause" option was active. Fixed server crash on death. Players will not render until they are loaded. Npc sync should be a bit less taxing on performance. Added a 5 second delay between reconnecting. More CTD fixes. Fixed issue preventing shouting from working.
Version 2.1.0
Fixes for CTD's occurring when entering exterior cells. Fixes for duplicate character spawning. Improvement to npc sync stability. Improved position synchronization when entering exterior cells. The "no pause" option has been improved, every menu should work, with the exception of books, reading certain books will cause CTDs when the option is enabled. Fix for jumping issue, where jumping would launch you into the air while connected to the server.
Version 2.0.1
Fix for the crashing on load. Related to the dlc issue, where having a dlc enabled would cause the game to crash when the mod loaded.
Version 2.0.0
NPC synchronization, positions are synchronized, idle animations, quests, combat, death, etc.. Fixed crash when loading a game, after disconnecting. Improved movement and position synchronization between worldspaces, locations, and cells. Improved customization synchronization. Removed some unnecessary papyrus code. Fixed issue where NPCs would huddle around invisible dead bodies. Fixed crashing upon new game, the mod will now only start after you have created a character, briefly after you first gain control of your character. Fixed issue where character does not disappear when another player disconnects.
*A big thanks to "KaptainTrite" for testing, and informing everyone during my absence.
*NPCs are synchronized based on the host player when the host is near, and based on whoever has the highest priority when the host is not near. I will be adding in a server option that will allow you to specify one specific person as the host, sometime this week.
Version 1.1.9.3
Console commands that begin with "player." are sent over the network. *Integrated "Jaxonz Map Markers" into the mod, on connect, other players are automatically tagged on the map. Fixed Male/Female voice issue. Magic improvements. More CTD fixes.
*This means you'll need the very latest version of SKSE now (1.7.3), and the latest version of SKYUI.
Version 1.1.9.2
Head discoloration is fixed. Fixed most CTDs on connect, and CTDs during play. Armor does not dequip when moving to a new area, no more mix matched equipment on other players when moving to other cells. Correctly refresh players when moving into a new area. (if there are players in an area, even if they are afk, they will show in their proper positions)
Version 1.1.9.1
Fixes for CTD on connect. Fixes for CTD on death. Arrow quiver shows up when equipped. Dequipped items instantly dequip, just as when equipping items.
Version 1.1.9
Fixes for CTD's reported in the last version. Fixes for movement glitches, and improved overall stability.
Version 1.1.8
More cleanup done behind the scenes to reduce CTD's, specifically when loading a save from a previous version. Improved master client detection, and synchronization. Position synchronization improvements. More fixes for NPC death synchronization.
Version 1.1.7
More optimizations, this is the third rewrite of the syncing, I scrapped the previous version due to the crashing issues. Nothing gets added to your game until you attempt to connect, this should reduce save bloat. Added more cleanup for the invisible actors/items. Fixed crash on reconnect. Fixed issue causing multiple failures when reconnecting to a server. Fixed issue causing other players to momentarily follow you
Version 1.1.6
More stability improvements for the client, this version should be a better balance between speed and reduced crashing. Fixed issue with the server displaying the wrong names in the command prompt. Server optimizations.
Version 1.1.5
There should no longer be any major drops in framerate, after initialization.
Version 1.1.4
Optimizations for the changes in 1.1.3, gameplay should be less laggy.
Version 1.1.3
Fixes for the XInput error. Completely rewrote most of the code related to saving and loading player information, this should help with the initialization issues people have been reporting, as well as the issue with the mod not starting. Fixed issue that caused movement not to be synced between certain cells (whiterun exterior/whiterun interior for instance). Removed the startup time variable, as it should be unnecessary with the new rewritten save/loading.
Version 1.1.2
Added controller & alternative keybinding support. Added the option "startuptime" to "TamrielOnline.ini", this value should be increased if your character is not fully loading on other computers. Additional clones will not be spawned when reconnecting, you will regain control of your previous clone instead. Fixed issue with 2h weapon attacks not working. Fixed issue causing constant blocking to occur.
Version 1.1.1
Stability improvements. Reduced the amount of movement data being sent per second by 10 times the previous amount. Improved the position synchronization when moving from an exterior cell to an interior cell. Other players should disappear from the players screen when they move outside the players area of interest. Reduced the rubberbanding that occurs when other players stop.
Version 1.1.0
Quest synchronization has been implemented. A new server option "questtype" determines the type of synchronization, -1 (no synchronization, best performance), 0 (host synchronization, default), 1 (ffa synchronization, everyone's quests synchronize with everyone else). Removed cluttered code from the server.
Version 1.0.9
Lever, chain, and pulley interaction, frequently found in dungeons, is synchronized. Fixed issue with horse jumping not synchronizing properly. Fixed issue with self-casted spells not targeting correctly. Improved synchronization when equipping spells. Startup time has temporarily been increased by 5 seconds, to help with initialization. Added the setting "playerlimit" to the server, it determines the max number of connections that can be made to the server, set to 1000 by default. Lower settings are better for smaller coop sessions. Replaced code that was causing CTD's for some people, their should be a large reduction in the number of CTD's that occur as a result.
Version 1.0.8
Horse riding. Fixed crashing on connect, removed names from invisible npcs, improved the position synchronization when in different areas.
Version 1.0.7
Fixed issue with characters only partially initializing (no name, or random customizations). Fixed issue with movement not always synchronizing on connect. Fixed issue with being stuck underground. Reduced the network requirements for clients, moved the majority of the initialization to the server. Improved the stability for all the synchronization. These fixes require the new server be used, preferably run as administrator.
Version 1.0.6
Stability improvements, rewrote most of the initialization and update code so that the mod will work on more computers. SKSE version check, will give you a message if your SKSE needs to be updated. Fixed repeat successful connection message. Movement updates limited to about 37 times per second to prevent overburdening some connections. Increase drop height to prevent items clipping through the floor. Better race detection. Server only sends position synchronization to users that are within 10000 units of each other, this value will be tweaked in the future, and will be expanded to other relevant data. Temporary fix for time of day bugs.
Version 1.0.5
Time of day synchronization based on the master client. Dropped item synchronization, dropped items show up in other player's games. Small stability improvements.
Version 1.0.4
Locked containers, and doors can be unlocked over the network. Greatly improved the death detection for NPC's in the same cell as the player. Disabled menu's while plugin initializes, so that it can't be accidentally interrupted. Removed the jump flying "issue". Cleaned up some of the code for clone disconnection. Found issue where crashing occurs if a target is left in the console after issuing a command, still looking for a fix. Fixed issue with characters constantly looking down.
Version 1.0.3
Removed the vast majority of polling in the papyrus scripts. Improved npc death detection. Restructured a lot of both the c++ and papyrus code to better prevent crashing. Old connections are now forcefully disconnected on reconnect. Fixed issue with characters teleporting around when moving a certain distance from the player. Fixed a number of misc issues introduced in the last version.
Version 1.0.2
Basic death synchronization, npc's that die will be killed over the network; does not kill essential npc's.
Sitting without being pushed around.
Added in better detection for sleep animation. (need confirmation on whether or not the sleep animation plays)
Bows work.
Shouts work.
Fixed some random disconnection issues for larger groups of players.
Cap set to 1000 concurrent users per server.
Got rid of spam on the server screen
Character is more responsive to changes in movement.
Added height to jumping
Support for 40+ more animations (blacksmith, enchanting, smelting, mining, etc..)
Better support for custom races
Version 1.0.1
No pause option for the server, set "canpause" to false to keep connecting players from pausing in menus, the test version is now activated through the server's ini file, reduced information being sent over the network, and increased client stability.
Version 1.0.0
1.0.0 - Initial release: position, rotation, armor, weapons, height, width, customizations, stats, name, walking, swimming, sitting, running, jumping, sneaking, and basic combat synchronization (you can attack, and it will synchronize on other people's screen), basic support for networking in mods (the "NetworkPV" function in "SkyUtilitiesScript" will call the "SETPV" console command on your avatar across the network).
Tamriel Online is a wip mod that will let you play Skyrim with your friends. This mod aims to allow multiple people to play together, with/without the same mods, in the simplest way possible.
This is NOT an MMO mod. It is not designed for thousands of concurrent players, or to do consistency checks on people who might "cheat". I believe that Skyrim is a wonderful game, one that would be even better with friends playing alongside, and affecting the world with you.
This mod also aims to add interaction, and interplay between games as much as possible.
If you find any bugs/glitches/problems with the mod, Please post your findings on the bug page. Before posting a bug, please make sure that the problem isn't covered on the FAQs.
MANUAL INSTALL
Open the downloaded Tamriel Online Client folder, and copy the following files to the steamapps/common/Skyrim folder: the Data folder, and the contents of the "fomod" folder.
On the dashboard, find where it says "App ID", double click the word, and copy the text that looks something like this "oc22b2y3-8ea4-9795-21b2-fd93b68oop57" into notepad, or write it down.
Opensteamapps/common/Skyrim/TamrielOnline.ini and find "appid=a84EXAMPLE8-e060-4f32-b30c-e87dEXAMPLEf1a63". Replace "a84EXAMPLE8-e060-4f32-b30c-e87dEXAMPLEf1a63" with the "App ID" that you wrote down.
Launch Skyrim with SKSE
Load or Start new game.
After your character has loaded, press the 'MINUS' key to connect.
CLIENT PLAYER (Connecting to host)
Opensteamapps/common/Skyrim/TamrielOnline.ini and find "appid=a84EXAMPLE8-e060-4f32-b30c-e87dEXAMPLEf1a63". Replace "a84EXAMPLE8-e060-4f32-b30c-e87dEXAMPLEf1a63" with the "App ID" of the HOST PLAYER.
Launch Skyrim with SKSE
Load or Start new game.
After your character has loaded, press the 'MINUS' key to connect.
*You can save while online, when you load the save (offline) the other player characters will disappear in a few seconds. *Disconnect (press home again) before loading a new save while online, or you may crash.
None of these servers are run by me, please report if a server is down.
(if you would like your server listed here, just let me know)
One of the mods features is not working properly. Try running SKSE as administrator, instead of running it normally.
I do not have a MINUS key. Change the "key=0xBD" (aka MINUS) in "TamrielOnline.ini" to another key listed in "TamrielOnline.ini"
My character is not synchronizing on other computers. Double check that your firewall is not blocking outgoing UDP traffic, and try reconnecting. Try increasing "startuptime" in "TamrielOnline.ini" to a longer time period (the value is in seconds).
Other people's characters are not synchronized on my computer. Double check that the other person(s) firewall is not blocking outgoing UDP traffic, and have them try reconnecting. Ensure that your server is accessible, and that incoming UDP traffic is not being blocked by your firewall.
I am getting frequent crashes, and the game is chugging. This may be caused by your ENB. Some ENB's enter framelimiting mode when you press "home". To solve this, change the "key=0x24" (aka "home") in "TamrielOnline.ini" to another key listed in "TamrielOnline.ini"
Crashes can also be cause by selecting object/actors/etc... in the console window. When selecting something for use with a console command, clear it before closing the console.
I get "failed to connect" when trying to connect to the server. Ensure that your firewall/av is not blocking the Skyrim, SKSE, or TamrielOnline.asi. Check and make sure that there are no spaces on the line with the ip you are connecting to. To help determine the source of the issue, try connecting to a public server. If you are unable to connect to a public server, then you may want to go through the process again to ensure that everything is setup properly.
I don't ever get any messages telling me to press "home". Make sure that you are running the game, as admin, through SKSE. Check that both "TamrielOnline.asi" and "ScriptDragon.dll" are not blocked (check each file's properties for an "unblock" option). Ensure that ALL files from the zip are installed, that you have met all the requirements listed at the top of the page.
I'm having trouble connecting via port forwarding. Try using hamachi instead. Make sure that everyone has hamachi, connect to one another through hamachi, and have everyone (except the host) use the hosts HAMACHI IP in their "TamrielOnline.ini" settings. The host can leave the ip set to "127.0.0.1".
Duplicates of my character are appearing, and mirroring what I do. Double check your server settings, and ensure that "testing" is set to false. If the issue persists, it is likely a known bug, which has yet to have a permanent solution. In the meantime, you can try connecting through another computer, or internet connection.
There are clones of people everywhere. It's a bug that occurs when people close out of skyrim without first disconnecting from the game. To get rid of clones, you can use "markfordelete" in the console. This bug is being worked on.
Other players are not appearing when I enter "xyz" building, or when I fast travel to "xyz" location. Try reconnecting, or have the other players reconnect. This is a bug with the position synchronization, that is being worked on.
I crash when I load a save while connected. To prevent crashing, it is best to disconnect from the server before loading a new save.
I do not get the start-up message. [A] Make sure all of the Tamriel Online files are unblocked, and make sure you have Microsoft Visual c++ 2015
Can't find an answer to your problem? Post your question in the "Bugs" tab!
KaptainTrite (thank you for helping with pretty much everything) SKSE Team - Bethesda - Jaxonz SkyUI team for their AMAZING UI SDK BrandonJP_, KaptainTrite, thedevil5600 and nnaatthhaann (Thank you for the nexus images)
World State Synchronization NPC synchronization - Whether NPC's are alive or dead, their position, whether they are fighting, etc... Quest synchronization Weather synchronization Time of day synchronization Static items synchronization (items dropped/changed by the player) Random encounter synchronization Companion synchronization Global Variable/Settings synchronization. Greater interaction Support more animations Riding horses Button activation synchronization Better combat support Equipping and using shouts. A list of people online.
Other Modding API, to allow the creation of general purpose, networked mods. Specify the mods required to join a server. Investigate adding a server list in-game. Bug fixes