The Dark Age of Camelot Server Emulator
A Dark Age of Camelot open source server emulator project written in C# started in 2003 by fans. We have created from scratch a server framework with database, packet and server logic.
The project aims were to create a framework which not only allowed for live-like behaviour but completely custom rulesets.
DOL Server - The server application
DAoC Portal - An application which allows your game client to connect to custom servers.
Uthgard - Our most successful server focusing on classic DAoC and Realm vs Realm fights in Old Frontiers.
Storm D2 - Our custom flagship server focusing on a Diablo 2 ruleset in the DAoC world.
Project News, Blogs and Code Commits
Posted 6 months ago
Database Handler(s) Revamp
Former DOL Database Code is pretty old and never changed much since migration from XML repository to MySQL driver, I tried to add support for SQLite some time ago, I managed to get some code working with both SQL drivers and some other parts needed complete duplication to handle differences...
I wanted to improve the SQLite driver implementation as I tend to use it a lot for standalone and portable development environment (Compiling Dawn of Light and Running server from a usb key !), I also wanted to implement low-level Unit Tests to track correctly upcoming change of the DOL Database API and make sure the Database Driver doesn't do anything funny !
So I ended up making a huge patch, which is always a long task and error prone...
Here is a List of all the major changes from this revamp :
<level value="INFO" />
UPDATE (SELECT COUNT(*) AS `Rows`, `ItemTemplate_ID` FROM `itemtemplate` GROUP BY `ItemTemplate_ID` Having `Rows` > 1) as `duplicates`
JOIN `ItemTemplate` ON (`ItemTemplate`.`ItemTemplate_ID` = `duplicates`.`ItemTemplate_ID`) SET `ItemTemplate`.`ItemTemplate_ID` = UUID() WHERE 1
UPDATE (SELECT COUNT(*) AS `Rows`, `CraftedItem_ID` FROM `CraftedItem` GROUP BY `CraftedItem_ID` Having `Rows` > 1) as `duplicates`
JOIN `CraftedItem` ON (`CraftedItem`.`CraftedItem_ID` = `duplicates`.`CraftedItem_ID`) SET `CraftedItem`.`CraftedItem_ID` = UUID() WHERE 1
Posted 8 months ago
We have moved now to GitHub. Please consider contributing through this media instead of SourceForge.
The ease of the GitHub infrastructure and the improved efficiency is the main reason, alongside with SourceForge erratic decisions took over the past months.
Please consult the how-to page here: viewtopic.php?f=47&t=22757
The website is uptodate with GH (mainly links), and GH is handling autobuild for us, in both Windows / Linux compliant mode.
Thanks Leodagan for the most work related to the migration.
SF is still open, not sure if/how we can close the contributions only.
Posted 1 year ago
Release : https://github.com/Dawn-of-Light/DOLSha ... 220.127.116.1166
Merge pull request #3 from dol-leodagan/master : https://github.com/Dawn-of-Light/DOLSharp/pull/3
Commited by Leodagan
@dol-leodagan Update README.md …
@dol-leodagan Updated : Adding NuGet Dependencies for Dependencies
@dol-leodagan Updated : Changed DLL References to match Nuget Dependencies
@dol-leodagan Removed : Shared Modules Binary Dependencies
@dol-leodagan Updated : Reference to SQLite architecture binaries …
@dol-leodagan Revert "Removed : Shared Modules Binary Dependencies" …
@dol-leodagan Added : Appveyor AutoBuild Configuration
@dol-leodagan Updated : appveyor.yml wrong format ?
23 changed files with 115 additions and 436 deletions.
Modified : .gitignore
Modified : DOLBase/DOLBase.csproj
Modified : DOLConfig/DOLConfig.csproj
Modified : DOLDatabase/DOLDatabase.csproj
Modified : DOLServer/DOLServer.csproj
Added : DOLServer/packages.config
Modified : GameServer/GameServer.csproj
Modified : GameServerScripts/GameServerScripts.csproj
Modified : README.md
Modified : UnitTests/UnitTests.csproj
Added : appveyor.yml
Removed : sharedModules/ICSharpCode.SharpZLib/ICSharpCode.SharpZipLib.dll
Removed : sharedModules/ICSharpCode.SharpZLib/SharpZLib.license.txt
Removed : sharedModules/MySQL/MySql.Data.dll
Removed : sharedModules/SQLite/System.Data.SQLite.Linq.dll
Removed : sharedModules/SQLite/System.Data.SQLite.dll
Removed : sharedModules/SQLite/x64/SQLite.Interop.dll
Removed : sharedModules/SQLite/x86/SQLite.Interop.dll
Removed : sharedModules/log4net/log4net.dll
Removed : sharedModules/log4net/log4net.license.txt
Removed : sharedModules/nunit/nunit.core.dll
Removed : sharedModules/nunit/nunit.framework.dll
Removed : sharedModules/nunit/nunit.license.txt
Posted 1 year ago
Commited by Graveen
Author : Kataract
*) Change from Kataract
- Fixed: /gminfo command was not displaying AccountName correctly
Modified : /DOLSharp/trunk/.gitignore
Modified : /DOLSharp/trunk/GameServer/commands/gmcommands/GMinfo.cs
Posted 1 year ago
Author : Urzaria
Add: some translations part 3
Modified : /DOLSharp/trunk/GameServer/craft/AdvancedCraftingSkill.cs
Modified : /DOLSharp/trunk/GameServer/keeps/Gameobjects/Guards/GameKeepGuard.cs
Modified : /DOLSharp/trunk/GameServer/keeps/Managers/Player Manager.cs
Modified : /DOLSharp/trunk/GameServer/keeps/Relics/GameRelicPad.cs
Modified : /DOLSharp/trunk/GameServer/language/DE/Keeps.txt
Modified : /DOLSharp/trunk/GameServer/language/EN/Language-EN.txt
Modified : /DOLSharp/trunk/GameServer/serverrules/DemonsBreachJumpPoint.cs
Host a Game Server
A desktop application which allows you to host your own Dark Age of Camelot server for yourself, friends or the public via LAN or the Internet.
Connect to a Server
A desktop client that allows you to view and connect to local, private or public DAoC freeshards.
Help improve Dawn of Light
|Taking a foreign DF exit won't port you out > on live you get back to your own realm, no matter what exit you take|
|You can not place nor paint a skiff on the Atlantean Ocean.|
|My money and all the money of my alliance members was reseted on the last server reboot.|
|When entering Hadrian's Wall from Pennine Mountains (heading Berk on the Eastern path) my whole group suddenly found theirselves under water|
|All kinds of necyomancers in DF are missing their clothings.|
|spiritmaster pet menu and pet commands are not working...possibly not implemented yet, having zero luck with any of them|
|heretic aoe dmg and snare duration seems very short...maybe 5 seconds instead of 30|
|whole hunter beastcraft line is bugged. lvl 30 spell not implemented the charming spells not right, has to be fixed completely i guess :(|
|vamp: i dont know how but i can interrupt without range limit with a pulse that never stops even when i sit oO|
|I cannot update my Bainshee Epic. The Template is missing according to the master blacksmith|
Artwork and screen shots Copyright © 2001-2004 Mythic Entertainment, Inc. All rights reserved. Used with permission of Mythic Entertainment. Mythic Entertainment, the Mythic Entertainment logo, "Dark Age of Camelot," "Shrouded Isles," "Foundations," "New Frontiers," "Trials of Atlantis," "Catacombs," "Darkness Rising," the Dark Age of Camelot and subsequent logos, and the stylized Celtic knot are trademarks of Mythic Entertainment, Inc.