Dawn of Light

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.

Featured 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.


Latest Updates

Project News, Blogs and Code Commits



Posted 1 week ago

My PvP project :)

Hello guys, it's time to introduce the basics of my project in order to check interests about the development ;)

PvP Server
Ista 40
Never seen mechanics/dynamics

Preliminary F.A.Q.

Is this server going to be a kind of arena?


Hey..ista 40?!? So I need to exp?

You can stay at 40 but 50 is better :)

Will exping be fast/safe?

It depends/no

Ok, I will exp a bit but I'm sure I could start at least with a decent Realm Rank, correct? XD

Correct! You will start with a SUPER Realm Rank (1)

Will PvE have an important role in order to have a good toon?

Yes, but remember PvE on a PvP server is not the relaxing/boring thing you could imagine..

You say addictive..how an old game could be addictive?

Check the line above “addictive” ;)

I'd like to know more about mechanics/dynamics.

Be patient please

Will craft be implemented?

No, the concept is different

Could I hack, have a buff bot, insult people?

Of course you can, till Banhammer hits you

I hate PvE, I want to log in and be a GOD in 1 second!!!!11!!1

You could find what you want, NOT here

Hey man this is what I was waiting since years!!! Put the server live NOW!

Any help from enthusiastic persons could be appreciated and will speed up the thing.

If you have any interest about this project as player or helper reply or PM :)


View Post

User avatar 

(Project Admin)
Posted 2 months ago

Portal update

Thanks to Darwin & Leodagan (and of course the legacy workers on Portal) the portal is updated to handle 1.115c (and eventually above who knows :p) client.

Simply launch DAoC Portal.

Enjoy !

View Post

User avatar 

(Developer Team)
Posted 4 months ago

SVN Revision 3435 - Startup and Skill Customization

A lot of Startup Mechanisms have been updated.

You should notice updates around Character Creation Events, Game Entering Events, Player Loading Events, and other early startup mechanisms used in DOL to have a proper working shard.

  • Character Creation Packet Handler is now highly revamped, using Global Constants to track legit Realm/Race/Class Combination, taking base class into account, most of scripted mechanisms are relocated to game server scripts (Startup Location, Startup Craft Skills, Starter Equipment, and other starting properties like money/level/Ra's etc...)
  • The use of global constants for tracking Class and Race helped in revamping a whole part of Trainer Promoting Code...
    Trainer now use mostly CharacterClass Attribute Hierarchy (keep hierarchy between your base CharacterClass and Advanced CharacterClass) and new constants to offer promoting options.
  • Character Creation Revamp allowed to enable again Character Customization ! You can now safely change your base starting stats in the limit of 30 bonus points, or reshape your character face ;)
  • Updated the Behavior of DataCareer Skill Handlers when promoting from Base Class, this could leave some remaining base class skills up to now
  • Starting As Base Class strongly revamped and should now work more steadily
    Some Character Class Fixed to be in the class hierarchy of their base class.
  • Respec Gift on specific levels relocated to game server script.
  • New DatabaseEvent on Player Loaded From Database, this allow to trigger any "Fix" before the loaded data is used to create a "GamePlayer"
  • New Refresh Command Util available to Admin to reload most of these new Module Static Data Cache "Lively", this could be used more generally for other properties cache...
  • Tested with client 1.95, 1.109 and 1.116 for startup zone, base class match, trainer promoting, new 1.116 player race/class options are forbidden by global constants actually but can be easily enabled.

This shouldn't change your everyday experience on DOL except if I broke something badly ;)

But you should notice better behavior of the character creation screen or easier customization around all those "Startup" Scripts !

View Post

User avatar 

(Developer Team)
Posted 5 months ago

SVN 3411 - ServerProperties Update

Small Revamp of ServerProperties Class.

I had to build some code to list "ALL" server properties (in DB, in Runtime, in Attributes...), I made some specific methods to retrieve all this data in a dictionary, and thought it could be useful for any Dev so I've put this method in the Core Properties...

Finally adding these methods to "Properties" Static Class showed that it could be pretty easy to use it for loading and saving...

..And I updated how the Properties are initialized on server server startup to use these new methods

It only use one DB query for all loading (faster server start), the Properties are now loaded only once after scripts are compiled (there was a static constructor before...) , "slash commands" have been moved from script compilation, to be loaded after server properties ! (there is a server prop "Disabled_commands"... so we need this before loading commands !)

This shouldn't change anything in server behavior, just some startup speed-up and optimization :D

View Post

User avatar 

(Developer Team)
Posted 5 months ago

SVN Revision 3399 - Game Server Scripts Super Powers

Upgrade to GameServerScript to Allow for Modular Behavior.

Revision 3394 to 3396

Main upgrades are around Compilation Assembly References that should now be automated for locally copied libraries.

This mean you can now drop-in any dependency DLL in Dawn of Light "lib" directory and they will be automatically referenced when building game server scripts.

This enable distribution of complete "Modules" through GSS, dependencies copied to "lib", sources copied to "scripts" and Runtime Compilation will enable all of this for you !

Another Feature to handle these new modules correctly is around ServerProperty, up to know they were only registering the Core Properties hard-coded in ServerProperty.Properties.

Script Manager will now trigger another lookup of all "ServerProperty" available in GameServerScript Assembly !

The Refresh Handler has been updated to reflect this behavior, thus /refresh command will now work for scripted properties too...

As an example Proof of Concept a new project "DOLNancyWeb" can be checked out, through : https://github.com/dol-leodagan/DOLNancyWeb

Simply "Download ZIP" and extract to your working Dawn of Light Directory, this will copy the necessary DLL and the according Scripts Sources to your server's "scripts" directory, next time you'll start your server you will be able to use a "Demo" Web Page embedded in DOL

New ServerProperties will be available in your database to setup this Embedded Server, no serverconfig.xml updates are needed !

Default access : http://localhost:10200/

View Post


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.


More »

DAoC Portal

Connect to a Server

A desktop client that allows you to view and connect to local, private or public DAoC freeshards.


280 players on 22 servers (408 peak)

Download Client View Servers »


Project Tracker

Help improve Dawn of Light

Latest Open Issues

Issue 17227
Freshly built dolserver running latest code (today's) and 3.0 pub MySQL database, crashes a few seconds after login. Character creation worked fine. Noteworthy options...PvP ruleset, grants level 5 at login, 8 hour not 24 hour, and dolserver runs as a Windows service. I built and ran a DEBUG compile though I'm not seeing any dumps or more elaborate errors in the logs. Let me know what else I might try. Thanks. 01:14:19,250 - [4] - ERROR - DOL.WeakMulticastDelegate - InvokeSafe System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.ArgumentNullException: No object given! Parameter name: obj at DOL.Events.GameEventMgr.AddHandler(Object obj, DOLEvent e, DOLEventHandler del, Boolean unique) in c:Program Files (x86)DOLSOURCEGameServereventsGameEventMgr.cs:line 249 at DOL.Events.GameEventMgr.AddHandler(Object obj, DOLEvent e, DOLEventHandler del) in c:Program Files (x86)DOLSOURCEGameServereventsGameEventMgr.cs:line 226 at DOL.GS.Quests.Hibernia.ImportantDelivery.ScriptLoaded(DOLEvent e, Object sender, EventArgs args) in c:Program Files (x86)DOLSERVscriptsquestsHiberniaImportantDelivery.cs:line 403 --- End of inner exception stack trace --- at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor) at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments) at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters) at DOL.WeakMulticastDelegate.InvokeSafe(Object[] args) in c:Program Files (x86)DOLSOURCEDOLBaseWeakMulticastDelegate.cs:line 307 Log Name: Application Source: Application Error Date: 3/28/2015 1:17:15 AM Event ID: 1000 Task Category: (100) Level: Error Keywords: Classic User: N/A Computer: RENJI Description: Faulting application name: DOLServer.exe, version:, time stamp: 0x55163579 Faulting module name: clr.dll, version: 4.0.30319.34209, time stamp: 0x5348961e Exception code: 0xc00000fd Fault offset: 0x001a11a0 Faulting process id: 0x338 Faulting application start time: 0x01d06915d4d826d8 Faulting application path: C:Program Files (x86)DOLSERVDOLServer.exe Faulting module path: C:WindowsMicrosoft.NETFrameworkv4.0.30319clr.dll Report Id: b1c8bf9c-d509-11e4-94f8-fbbdfcb6ad78 Faulting package full name: Faulting package-relative application ID:
Issue 17223
I am having problems iwth 2 spells on my level 12 valkery after odins minor tretribution goes off she keeps trying to cast another spell, this is not my doing;Valhalla's storm is utilizing Odin's Minor Aura spell
Issue 17218
Obelist in aquaduct not working
Issue 17195
ToA Waterpotion doesn't work in non-toa Zone Water.
Issue 17187
with the new updated/downgraded game client i got the new NEW frontiers specials! it means i can't enter LoM, Dun Crimthain is in the middle of woods and some more bugs.

Longest Open Issues

Issue 2675
spiritmaster pet menu and pet commands are not working...possibly not implemented yet, having zero luck with any of them
Issue 2649
heretic aoe dmg and snare duration seems very short...maybe 5 seconds instead of 30
Issue 3107
whole hunter beastcraft line is bugged. lvl 30 spell not implemented the charming spells not right, has to be fixed completely i guess :(
Issue 3341
vamp: i dont know how but i can interrupt without range limit with a pulse that never stops even when i sit oO
Issue 3174
I cannot update my Bainshee Epic. The Template is missing according to the master blacksmith