Unofficial player wiki
DFO Online
An open-source rebuild of The Elder Scrolls II: Daggerfall that runs in a web browser, with an optional shared online world. This wiki explains how it plays, using only things that can be proven from the game's source code or from public sources.
DFO Online started as a line-by-line translation of Daggerfall Unity's C# code into JavaScript, with a new WebGL2 renderer. It is now its own game, using Daggerfall Unity as its reference rather than a target to match. README site You need your own copy of Daggerfall's game data, which Bethesda has given away free since 2009. site
The project is MIT licensed, made by the GitHub user Lattymoy, and is not affiliated with Bethesda or ZeniMax. LICENSE site
Every fact on this wiki carries a gold source tag. Code tags open the exact line on GitHub, pinned to commit
9aa6bc4 (26 October 2026), so you can check the claim yourself even after the code changes. See
How this wiki is sourced.
Start here
Quick facts
Start here
Getting started
Three steps. The first two happen once.
1. Get Daggerfall's game files
The game reads the original Daggerfall data folder, called ARENA2. The project never ships it and never uploads it: your files stay on your device. site README
Daggerfall is free from any of these:
Source for the links and the Steam path: site
2. Press Play and pick ARENA2
Open daggerfalljs.dev/play, then pick the ARENA2 folder or drop it on the page. On a phone, hand over the zip instead. You are not asked again. site
3. Play
A new character wakes in Privateer's Hold, as in the original. Touch controls appear by themselves on a touch screen. site
What you need
- Any current browser with WebGL2: Chrome, Edge, Firefox or Safari. site
- An account only if you want to play online or back up saves to the cloud. Guest accounts take one click and no email. strings
Prefer an installed app? See Desktop app.
Start here
Desktop app
Optional. Same game, outside the browser.
The desktop app is an Electron shell that loads the same build the website serves, so there is no separate version of the game code. Desktop-App.md What it adds:
- Saves become real files you can back up, in Daggerfall Unity's folder layout (
Saves/SAVE<n>/SaveData.txt and so on). Desktop-App.md
- It finds your Daggerfall install and reads ARENA2 straight from disk.
- It works offline, and updates the game before you play, downloading only changed files.
Source for the last two points: site
Downloads
Source for the table: site
First launch warnings
The app is not code-signed yet, so the first launch warns you. site
- Windows: choose More info, then Run anyway.
- Mac: open it once, then choose Open Anyway under System Settings › Privacy & Security. Intel Macs are not supported.
- Linux: make the AppImage executable (
chmod +x).
Start here
Controls
The project's site says the defaults are Daggerfall Unity's. That is mostly true, but several keys have moved. This table comes straight from the game's default key list.
Everything is rebindable in Settings › Controls. site All rows below: inputActions.js
Moving
| Key | Action |
| W A S D | Move |
| ← → | Turn |
| Left Shift | Run |
| Space | Jump |
| C | Crouch, which is also sneaking |
| F3 | Auto-run (moved from the middle mouse button) |
| PgUp / PgDn | Float up / down (levitating, swimming) |
| Mouse 5 (forward side button) | First / third person |
| B | Switch shoulder (third person) |
Acting
| Key | Action |
| E | Interact changed Daggerfall Unity used E for abort spell |
| Left mouse | Activate what is in the centre of the screen |
| Right mouse | Swing weapon |
| Mouse 4 (back side button) | Weapon technique |
| Z | Ready weapon |
| H | Switch hand |
| Left Alt (hold) | Mode wheel: flick toward Steal, Grab, Info or Talk, then let go changed F1–F4 ship unbound |
| Backspace / Q | Cast spell / recast last spell |
| ` | Abort spell |
| U | Use magic item |
| P / J | Loot everything / open the container |
| R / T | Rest / transport (horse, cart) |
Quick slots and hotbar
| Key | Action |
| 1 2 | Quick use slots |
| 3 | Quick spell |
| 4 | Off hand |
| 5–0 | Hotbar slots 5–10 |
| Tab | Quick dial |
Screens
| Key | Screen |
| Esc | Pause menu and everything else |
| I / F5 / F6 | Status / character sheet / inventory |
| M / V | Automap / travel map |
| L / N | Logbook / notebook |
| F9 / F11 | Quick save / quick load (offline only; see Saves) |
| F8 | Screenshot |
| Y | Free the mouse cursor |
| ↓ | Professions and Stores pages |
Online
| Key | Action |
| F | Interact with another player (inspect, invite, challenge) |
| Middle mouse | Party ping |
Bundled mods' keys
| Key | Action |
| O / G / X | Torch: light, drop, throw |
| K | Follow roads |
| , / . | Mount horse / summon horse |
| F2 / F4 | Saddle panel / ship's hold |
| ↑ ↓ [ ] End | Sailing: more/less sail, trim, raise or lower sails |
| ' / ; | Leave boat / boat lantern |
| Numpad / | Family tree (Project Legacy) |
Gamepads are supported through their own binding table. inputActions.js
Start here
Saves and accounts
Offline saves
In the browser, saves live in the browser's own storage. The desktop app keeps them as real files instead. site Clearing your browser's site data for daggerfalljs.dev would delete browser saves, so back them up to the cloud or use the desktop app if they matter to you.
Classic Daggerfall and Daggerfall Unity saves cannot be imported yet. site
Accounts
An account is optional. You need one to play online or to back up saves. A guest account takes one click and no email. strings
Cloud backups
- Up to 60 backup slots per account. When you hit the limit, new backups are refused; the service never deletes an old slot to make room. service.js
- A single save may be up to 4 MB. service.js
Online characters are separate
OnlineOnline play uses its own characters, held by the server ("the realm"). Offline characters stay on your device and are untouched. Realm-Arc.md
- Up to 6 living online characters per account. realm.js
- New online characters must be made in character creation (the main menu's New online character). strings
- Copy to offline makes an offline copy. Nothing you do on the copy goes back online. strings
- Deleting an online character is permanent: its Renown, professions, Stores, homes and guild place go with it. strings
- Loading a save is disabled during online play, so quick load does nothing online. strings
Bringing an offline character online. The menu offers "Bring an offline character in (once)".
strings In practice the server only accepts a character it already saw before the realm opened (one with Renown, an online home, a guild place, a raid, or a cloud backup from before then). Any other character is refused, and you are told to make a new online character.
realm.js strings For a new player today, that means starting fresh online.
New players
Creating a character
Character creation follows Daggerfall's own: race, gender, class, attributes, skills and a background. DFO Online changes the premade classes, adds a leveling choice at the end, and has a few rules for online characters.
OnlineOnline characters must be made in character creation, from the main menu's
New online character. You can have up to 6.
strings realm.js The leveling choice is locked to Classic online; see
Levelling.
Race
Race changes very little in Daggerfall. Only these bonuses exist in the code; nothing else differs between races. races.js formulas.js
| Race | Bonus |
| Breton | Resistance to magic |
| Nord | Resistance to frost |
| High Elf | Immune to paralysis |
| Dark Elf | +level ÷ 4 to hit and damage with any weapon |
| Redguard | +level ÷ 3 to hit and damage with any weapon except bows |
| Wood Elf | +level ÷ 3 to hit and damage with bows |
| Khajiit | +30 to climbing climbing.js |
| Argonian | Better swimming and breath holding UESP |
The weapon bonuses need a weapon in hand (none for fists), and are rounded down, so they start to matter from level 3 or 4.
Class
There are three ways to get a class:
- Pick one of the 18 premade classes.
- Answer questions. You get 10 questions drawn from a set of 40, and your answers choose a class for you. classQuestions.js
- Make a custom class. Choose its skills, advantages and disadvantages, and hit points per level from 4 to 30 (8 by default). customClass.js
The premade classes were rebuilt
On 21 October 2026 the premade classes got new skill lists. In classic Daggerfall several classes wasted their best skill slots: the Barbarian's majors were Jumping, Running and Swimming, the Mage and Sorcerer were identical, and the Archer's second primary was Hand-to-Hand. The new lists follow four rules: every class can fight from level 1; movement skills are only primary or major where they define the class; no languages take a slot; and pure fighters get two weapons plus Critical Strike. Stock-Classes.md The new lists are what character creation uses. chargenSession.js
Attributes, hit points per level, advancement speed, advantages, disadvantages and equipment rules did not change. Stock-Classes.md
Guides written for classic Daggerfall or Daggerfall Unity, including UESP's class pages, show the old skill lists. Use this table for DFO Online.
All rows: stockClasses.js
| Class | Primary | Major | Minor |
| Mage | Destruction, Alteration, Mysticism | Illusion, Thaumaturgy, Restoration | Medical, Short Blade, Blunt Weapon, Dodging, Etiquette, Mercantile |
| Spellsword | Long Blade, Restoration, Alteration | Axe, Blunt Weapon, Destruction | Illusion, Thaumaturgy, Mysticism, Short Blade, Dodging, Archery |
| Battlemage | Destruction, Long Blade, Axe | Thaumaturgy, Alteration, Restoration | Illusion, Mysticism, Dodging, Archery, Short Blade, Blunt Weapon |
| Sorcerer | Destruction, Mysticism, Alteration | Thaumaturgy, Illusion, Blunt Weapon | Restoration, Short Blade, Dodging, Medical, Mercantile, Streetwise |
| Healer | Restoration, Medical, Dodging | Blunt Weapon, Alteration, Mysticism | Thaumaturgy, Destruction, Illusion, Etiquette, Streetwise, Short Blade |
| Nightblade | Illusion, Stealth, Short Blade | Destruction, Backstabbing, Dodging | Alteration, Thaumaturgy, Critical Strike, Lockpicking, Restoration, Mysticism |
| Bard | Etiquette, Streetwise, Short Blade | Illusion, Mercantile, Stealth | Pickpocket, Lockpicking, Alteration, Restoration, Destruction, Archery |
| Burglar | Lockpicking, Stealth, Short Blade | Climbing, Backstabbing, Dodging | Critical Strike, Pickpocket, Mercantile, Streetwise, Archery, Running |
| Rogue | Long Blade, Stealth, Dodging | Pickpocket, Backstabbing, Streetwise | Critical Strike, Short Blade, Lockpicking, Archery, Blunt Weapon, Running |
| Acrobat | Dodging, Jumping, Short Blade | Running, Archery, Stealth | Climbing, Hand-to-Hand, Critical Strike, Backstabbing, Pickpocket, Swimming |
| Thief | Pickpocket, Stealth, Short Blade | Backstabbing, Lockpicking, Dodging | Critical Strike, Climbing, Running, Streetwise, Mercantile, Archery |
| Assassin | Short Blade, Critical Strike, Stealth | Backstabbing, Long Blade, Archery | Dodging, Lockpicking, Climbing, Pickpocket, Streetwise, Blunt Weapon |
| Monk | Hand-to-Hand, Critical Strike, Dodging | Medical, Blunt Weapon, Running | Archery, Short Blade, Stealth, Jumping, Climbing, Swimming |
| Archer | Archery, Dodging, Critical Strike | Short Blade, Long Blade, Stealth | Axe, Blunt Weapon, Hand-to-Hand, Running, Climbing, Swimming |
| Ranger | Archery, Long Blade, Stealth | Axe, Critical Strike, Dodging | Climbing, Swimming, Running, Medical, Short Blade, Blunt Weapon |
| Barbarian | Axe, Blunt Weapon, Critical Strike | Long Blade, Dodging, Running | Medical, Climbing, Jumping, Swimming, Archery, Hand-to-Hand |
| Warrior | Long Blade, Axe, Critical Strike | Blunt Weapon, Archery, Dodging | Short Blade, Hand-to-Hand, Medical, Climbing, Running, Swimming |
| Knight | Long Blade, Blunt Weapon, Etiquette | Axe, Critical Strike, Medical | Archery, Short Blade, Dodging, Mercantile, Running, Swimming |
One equipment fix: the Burglar is now forbidden chain and plate instead of leather and chain. stockClasses.js
Attributes and skills
The attribute screen has a Reroll button, as in classic. You can then spend bonus points on attributes and skills. chargen.js
Skills you use go up when you rest or travel, at most once every 6 hours. Your Stats page shows how close each skill is. strings
Tips
- If you plan to sell loot, Mercantile and Personality raise what shops pay, up to an online cap. See Making money.
- Your primary and major skills decide your starting gear: a weapon skill gives a weapon, Streetwise a cuirass, Mercantile extra gold. See Your first hour.
- Pick your leveling system carefully: you cannot change it later. See Levelling.
New players
Levelling
The last screen of character creation asks which leveling system to use. The choice is permanent.
The two systems
| Classic | Oblivion Remastered |
| How you level | Your primary, major and minor skills make a sum. Every 15 points of it is a level. | Every skill you raise fills a 100-point bar, your best skills fastest. At 100 you level and the rest rolls over. |
| Attribute points per level | 4 to 6, random (offline) 5, fixed (online) | 12 virtues to spend on up to 3 attributes (default settings) |
| Available online | Yes | No, offline characters only |
Sources: the choice screen's own text levelingChoice.js, the sum of 15 advancement.js, the 4–6 roll advancement.js, the online 5 levelEven.js, Oblivion's defaults modSettings.js.
OnlineNew online characters always use Classic leveling. The Oblivion option shows on the screen but is locked, marked "Offline characters only".
oblivionLeveling.js The game's Mods page text still says the leveling choice stays yours online; that line predates the lock.
Online health floor
OnlineIn classic Daggerfall, health per level is rolled and depends on your Endurance at the time, so low rolls or a late Endurance boost leave you short for good. Online, your maximum health is never below what your class would have at your level if every level had rolled the class average with your current Endurance. Rolls above that are kept. The floor is never written to your save. levelEven.js
This means raising Endurance online pays off retroactively, so there is no need to rush it early.
Renown
Online characters also earn Renown, a separate level that adds health and magicka while online.
New players
Your first hour
Every character starts in Privateer's Hold, a small cave. The game's first note says it plainly: take what you need from your pack, find the way out, and make for the nearest town. tutorialCatalogue.js Here is what you carry, what to know before you leave, and what to do next.
What you start with
Your starting kit is built from your skills. This is a Roleplay & Realism: Items rule. It is on by default offline and always on online. rriInstall.js modSettings.js onlineLane.js
Everyone gets a shirt and trousers, a spellbook, an iron dagger, and some gold: a random amount from 5 up to the Luck value in your class's definition (not the Luck you rolled). rriKits.js Then each of your three primary and three major skills adds one item. Minor skills add nothing. rriKits.js
| Skill | Item |
| Archery | Short bow and 30 arrows |
| Axe | Battle axe or war axe |
| Blunt Weapon | Mace, flail or warhammer |
| Long Blade | Saber or broadsword |
| Short Blade | Shortsword or tanto |
| Streetwise | Cuirass |
| Critical Strike | Greaves |
| Climbing | Helm |
| Hand-to-Hand | Gauntlets |
| Jumping | Boots |
| Backstabbing | Right pauldron |
| Dodging | Cloak |
| Etiquette | Formal tunic or evening gown |
| Running | Shoes |
| Stealth | Khajiit suit |
| Swimming | Loincloth |
| Medical | 4 bandages |
| Lockpicking | A random potion |
| Pickpocket | A random gem |
| Mercantile | Extra gold: from 1× to 4× your class's Luck value |
| A language | A random book and 4 ingredients |
Weapons start as iron and armour as leather. Your class's Luck gives a chance to upgrade them to steel and chain, and a class that may not use iron or leather always gets the better one.
On top of the kit:
- Survival supplies (food, water, a campfire) if survival is on. Online you always get a campfire, since resting needs one. startingGear.js
- A wallet, which holds letters of credit and other currency pieces.
- Starting spells if your class casts.
If you turn the skill-based kit off (offline only), you get Daggerfall's normal class kit with 100 gold instead. startingGear.js
Leaving Privateer's Hold
OnlineYou can only leave once. Online, the Hold's door refuses you from outside ("You cannot go back into Privateer's Hold."), and Recall can't take you back in. Pick up anything you want before you walk out.
startDungeon.js Online-Arc.md
Survival needs
Hunger, thirst and the cold are a setting with four tiers: Off, Boons, Casual (the default) and Hard. It stays your choice online. switch.js Online, bodies always carry food whatever your tier, so party members on different settings can share a kill. switch.js
Resting
Online, rest at a fire, a tent or a bed. A night passes at once, at most once every 10 minutes of play, and party members within 15 metres sleep with you. Sleeping in the open is dangerous; a room at an inn is safer, and costs half price online. tutorialCatalogue.js shopStock.js Your skills only go up when you rest or travel, at most once every 6 hours of game time. strings strings
Next steps in town
- Check a bounty board. Every city has four bounty boards, at its gates; villages and hamlets have none, except Gothway Garden, which has two at its north entrance. Hover over a board to check it says "Bounty Board". It has four hunts sized to your level. It is the easiest early gold. See Making money. bountyBoard.js
- Join a guild. You may join one temple, one knightly order, and as many guilds as will have you. Do their work and practise the skills they teach to rise in rank. strings
- Bank your gold. Dying online costs a tenth of the gold you carry, but never touches the bank. Banks never close online. deathPenalty.js buildingLocks.js
- Find a party.
/join lfg adds the Looking for Group channel. See Chat.
- Read the tutorials. Pop-ups explain systems the first time you meet them. You can turn them off in settings. onlineLane.js
If you die
OnlineYou wake at the nearest temple, town or graveyard with half health, tutorialCatalogue.js and lose a tenth of the gold you were carrying, rounded down. Letters of credit and the bank are not touched. deathPenalty.js The Wild Zone has harsher rules.
Offline, a death ends the run unless Project Legacy gives you a rise, which costs the same tenth. deathPenalty.js
New players
Making money early
You start with only a small purse (see Your first hour). Online, money is deliberately tighter than in classic Daggerfall: shops pay less, loot gold doesn't grow with your level, and party quest gold is split. Essentials cost half to make up for it.
Mercantile at character creation
If Mercantile is one of your primary or major skills, your starting kit includes extra gold: from 1× to 4× your class's Luck value. rriKits.js Of the premade classes only the Bard has it as a major; elsewhere it is a minor, which gives nothing. A custom class can take it. Mercantile also raises what shops pay you (below).
Bounty boards
Finding one
Bounty boards are Daggerfall's own bulletin boards, the wooden boards standing in a town's streets. The game uses the one board model it already had and turns some of each town's boards into bounty boards. rmbLayout.js Hover over a board to see what it is: a bounty board is named Bounty Board. Online, the others are Notice Boards. Elsewhere they are plain Bulletin Boards. worldModes.js worldModes.js
OnlineOnly cities have them, and they stand at the city gates. Every city has eight bulletin boards, two at each of its four gates, and half of them are bounty boards, so every city has four. immersiveTravelGates.js pixelBuild.js bountyBoard.js In most cities each gate has one bounty board and one Notice Board. In 84 of the 410 cities both boards at the south gate are bounty boards and the north gate has only Notice Boards. Villages and hamlets have no bulletin boards at all, with one exception: Gothway Garden, the first town new characters reach, has two bounty boards at its north entrance. gothwayBoards.js Every player sees the same boards as bounty boards. The DFO Online Map shows each city's boards, gate by gate.
OnlineThe town map marks Notice Boards, but not bounty boards, so at a city gate the bounty boards are the ones it doesn't mark. townMapMarks.js A Notice Board with notes you haven't read also shows a count such as "3 new" above it from up to 40 m away. world.js
How hunts work
Each bounty board posts four hunts per day, the same four on every bounty board in that town. Each names a spot 4 to 10 map pixels from town with a pack of 4 to 8 beasts, or a nearby dungeon with 2 to 4. Walk onto the spot and the pack appears; killing the last one pays at once: gold plus a piece of gear. You can hold up to 4 bounties at once. Clearing one also raises your standing with that region's law by two points. bountyHost.js
Share a bounty with your party and everyone who took it before the last kill is paid. bountyHost.js (The in-game tutorial says to "return for gold"; in the current code the pay arrives the moment the last beast falls. bountyHost.js) bountyBoard.js bountyBoard.js
What you hunt and what it pays depend on your level. Gold below was computed with the game's own function. bountyBoard.js bountyBoard.js
| Your level | Beasts | 4 / 6 / 8 beasts | Gear reward |
| 1–3 | Rats, Giant Bats, Spiders | 30 / 40 / 50 | Plain, half condition |
| 4–5 | Grizzly Bears, Sabretooth Tigers, Orcs | 45 / 60 / 75 | 3/4 condition, 50% chance Magic |
| 6–10 | Centaurs, Orc Sergeants, Harpies, Skeletal Warriors, Zombies | 54 / 72 / 90 | Full condition, 50% chance Magic |
| 11–14 | Giants, Mummies, Giant Scorpions, Orc Shamans | 60 / 80 / 100 | Full condition, 50% chance Magic |
| 15+ | Gargoyles, Wraiths, Orc Warlords, Daedroths | 150–200 | Full condition, 50% chance Magic |
Gear quality: bountyBoard.js. A dungeon pack of 2 pays like 4 beasts outside, and 4 like 8. Werebeasts are never on the board, so a bounty can't give you lycanthropy.
At level 1–3, four bounties at 30–50 gold each come to as much as 200 gold, from the easiest monsters in the game. That is likely more than your starting purse.
Selling loot to shops
Each shop buys certain goods. Pawnbrokers take nearly anything; smiths buy weapons and armour and do repairs. tutorialCatalogue.js
OnlineSelling works differently online, to stop buy-and-sell-back loops: shopStock.js shopStock.js
- A shop pays at most half the lowest price it would charge anyone for that item.
- Under that cap, Mercantile and Personality still help. The weakest seller gets about three quarters of the cap; the best gets the full cap.
- Skills past 100 do nothing extra online. shopStock.js
- Merchants have unlimited gold, so you can sell everything at one shop. Economy-Arc.md
- A town's prosperity can lower what its shops pay. Town-Economy-Arc.md
Item colours show rarity, from most common: Common (white), Magic (blue), Rare (gold), Legendary (orange), then the special tiers Aetheric, Artifact and Gilded. Only Magic, Rare and Legendary appear as random loot. lootRarity.js rarityTier.js
Quests
- Guilds, temples and townsfolk give paid quests. The Quests tab tracks each step, and some quests let you pick one of three pieces of gear as a reward. strings
- OnlineA quest shared with your party pays its gold once, split evenly between members. Item rewards are not split: each member gets their own. actions.js
- OnlineQuests raise your standing with a guild by a limited amount per real day (days start at midnight UTC). Extra standing is added on later days. strings
Dungeon loot
OnlineIn classic, gold piles grow with your level. Online they don't: a level 30 character finds the same gold as a level 1. loot.js Gear found in dungeons still matters, and shared dungeons refill after 20 minutes (40 for elite dungeons). dungeonRespawn.js
Professions
Gathering (mining, logging, herbalism, hunting, fishing) feeds crafting. Crafting stations are in shops: a forge at Weaponsmiths and Armorers, a loom at Clothing Stores, a workbench at Furniture Stores, a jeweller's bench at Pawn Shops and Gem Stores, a mason's bench at General Stores, alchemy at Alchemists and the Mages Guild, enchanting at Mages Guild halls. strings strings See Professions.
Crafting is the long-term money maker: the project's own notes call shops "the floor" and crafting "the ceiling". Economy-Arc.md
Spending less
OnlineThese cost half price online: tavern rooms, food and drink; a temple's disease cure; travel fares; and potions bought at any counter. Repairs, training, spells, enchanting, houses and ships keep their normal prices. shopStock.js
Keeping it
- Banks also write letters of credit, which weigh nothing, and lend money. tutorialCatalogue.js
- Bank what you don't need. A death online takes a tenth of your purse but never the bank. deathPenalty.js
- Letters of credit are safe from normal deaths but do drop in the Wild Zone. wildDropLaw.js
- Buying an item and selling it back always loses money online, including potions bought at half price. shopStock.js
Playing online
Playing online
One persistent world that everyone shares. It is not a full MMO and not a shared campaign: each player keeps their own story.
How the game itself describes it
The online menu explains the rules in its own words. Summarised: strings
- Everyone plays their own character, and you can see and talk to each other anywhere.
- Dungeons and buildings are shared. Enemies, doors, levers and opened chests are the same for everyone and stay that way.
- In towns and the wilds, everyone nearby sees the same monsters, can fight them, and can be hurt by them.
- The world's clock runs on real time. See Time and resting.
- Every visual enhancement is on for everyone, but your interface layout is your own.
- Most mods stay your choice. Ones that change the ground, monsters, loot or rules are set the same for everyone. See Bundled mods.
Shared dungeons
A dungeon's dead stay dead for whoever comes next, until the respawn timer runs out. Foes and chests come back after: dungeonRespawn.js wire.js
| Place | Respawn |
| Normal dungeon | 20 min |
| Elite dungeon | 40 min |
| Wild Zone halls and super dungeons | 30 min |
Quests stay yours
Your quests, dialogue, travel map and history are your own. Two players on the same quest each get their own copy of the target. Multiplayer.md The exception is quests you share with your party; see Quests online.
PvP
Players cannot hurt each other except in two places: an agreed duel, and the Wild Zone in the Wrothgarian Mountains. Multiplayer.md
Dying
When you die online you get back up at the nearest safe place with half health, and lose a tenth of the gold you carry. The bank is never touched. deathPenalty.js See Your first hour.
Online-only progression
Online characters also earn Renown, a second level that only exists online.
Playing online
Time and resting
OnlineOn a shared server, one player sleeping cannot skip time for everyone. So online play runs two clocks.
The world's clock
The sky and calendar run 24 game minutes per real minute, so one full game day passes every real hour, with midnight on the hour. skyLaw.js Resting, travel, jail and training do not move this clock. A quest that waits for a time of day waits for the world's. strings
Your character's clock
Your character also has a private clock. It runs while you play and stops while you are logged off. Resting, travel, jail and training use it. Wounds, spell durations, hunger, diseases, curses, guild ranks, rented rooms, loans and repairs run on it. strings
Quest timers
- Quest timers run on the world's clock, but only while you are playing. Time logged off never counts.
- Resting, waiting and traveling do not use up a quest's days.
- A quest that only asks you to wait ("come back in a few days", a letter) moves on after a couple of minutes of play.
Source for the list: strings
Resting
Rest at a fire, a tent or a bed. A night passes at once, at most once every 10 minutes of play, and party members within 15 metres sleep with you. Type /ready in chat for how party resting works. strings chatCommands.js
Opening hours
Because you cannot sleep until morning, online these buildings stay staffed around the clock: every shop, guild halls, banks, libraries and palaces. Temples and taverns never closed. Houses and the rest keep Daggerfall's normal hours. Offline, everything keeps normal hours. buildingLocks.js
Playing online
Parties and friends
| Limit | Value | Source |
| Players in a party | 8 | wire.js |
| Outstanding invites per party | 8 | wire.js |
| Friends per account | 64 | wire.js |
Parties launched at 4 players and were raised to 8 on 22 September 2026, which is why some launch-week articles say four. wire.js WindowsForum
Working together
- Walk up to a player and press F to inspect them, invite them, or challenge them. inputActions.js
- Press the middle mouse button to ping a spot for your party.
/leader travels you to your party leader. /travel gets you ready for the leader's journey, or calls it off if you lead. chatCommands.js
- Resting at a fire rests party members within 15 metres too. strings
/mentor shows whether you are mentoring. It turns on when your party is well below your level. chatCommands.js
Renown bonus
A party earns more Renown per head, never a split share: each extra member present adds 10%. A full party of 8 earns 170% each. renown.js
Shared quests
See Quests online.
Playing online
Quests online
The game runs Daggerfall's own quest scripts. The project's site counts 265 quests. site The scripts come from Daggerfall Unity's quest folder, bundled in the source. dfu-quests
Each player has their own quests
Your quest state is yours. If two players do the same quest, each gets their own copy of the target, and a quest character you already dealt with may still stand for someone else. Multiplayer.md
Sharing with your party
You can share a quest with your party. Each member still gets their own copy, but the quest's enemies are shared: the party sees and fights the same ones, and a kill counts for every member's copy. Players outside the party cannot see or hit those foes. Multiplayer.md
Questline steps cannot be shared; each player walks their own. strings
World quest: the Curse of Daggerfall
The ghosts and wraiths that walk Daggerfall's streets at night belong to no one's quest, so everyone sees them and can fight them. Multiplayer.md
Timers
Quest timers and waits behave differently online. See Time and resting.
Playing online
Chat and commands
Type /help in game for this list. Everything below is copied from the game's own help text. chatCommands.js
Channels
| Command | Goes to |
/world, /g | Everyone online |
/region, /r | Everyone in your region |
/local, /l, /say, /s | Players nearby, in character |
/ooc | Players nearby, out of character |
/party, /p | Your party |
/guild, /gu | Your player guild |
/trade, /tr | Trade channel (buying, selling, swapping) |
/lfg | Looking for group |
/lc | Your language channel |
Channel list: chatCommands.js. Trade and LFG are opt-in: /join trade or /join lfg adds the tab, /leave removes it.
Language channels
/lang <code> joins one, /lang off leaves, /lang lists them. Available: en, de, fr, es, pt, it, nl, pl, ru, fi, sv, tr, ja, zh, ko. wire.js
Roleplay and fun
/me <action> — an action line.
/rp <text> — a roleplay line in green italics.
/roll or /dice — 2d6+3, d20, 100. At most 10 dice of up to 1,000 sides. dice.js
- Gestures, optionally aimed at a name (
/wave Ann): wave, bow, nod, shrug, laugh, cheer, salute, smile, sigh, cry, dance, clap, point, thank, greet, kneel, sit, pray, flex, facepalm. These are text only; characters do not play an animation. chatCommands.js
- Shortcodes like
:smile: or :sword: become emoji.
//text sends a line that starts with a slash.
Utility
| Command | Does |
/unstuck | Leave by the door you came in; outdoors, go to the nearest town. /unstuck cancel stops it. |
/find, /who <name> | Find who is online by that name |
/search <name> | Show a player's lines on every tab |
/mail | Your mailbox: developer messages and items to claim |
/season | This season, your standings and time left |
/breach | The Elite Breach event (/breach help lists its commands) |
/ready, /leader, /travel, /mentor | Party tools; see Parties |
/bug | Privately report an exploit, bug or security hole to the developers |
For blocking and reporting players, see Safety and conduct.
Playing online
Safety and conduct
Every player agrees to a Code of Conduct. Read it any time with /rules. chatCommands.js
Blocking
/block <name> hides a player's chat lines, invites and requests. /unblock <name> undoes it, and /blocked lists who you have blocked.
Reporting
/report <name> [harassment|hate|sexual|threat|spam][: note] sends that player's recent lines and your note to the moderators. You can also click a name in the chat. chatCommands.js
Exploits and bugs
Report exploits privately with /bug in game, or see the project's SECURITY.md. Please don't post exploits publicly until they are fixed. README
Online progression
Renown
OnlineA second level per online character, earned only online, shown as a number in a box beside your name.
What it does
Each Renown level above 1 adds 3 maximum health and 2 maximum magicka, on top of your Daggerfall stats, only while online. It is never written into your save. renown.js The cap is level 50. identityToken.js
How you earn it
- Killing foes and finishing quests online. Offline play earns nothing. renown.js
- XP is measured against your Renown, not your Daggerfall level, so an offline-levelled character does not climb faster.
- Every source pays 75% of its base amount. renown.js
- Party members present add 10% each. renown.js
- An account can earn at most 15,000 Renown XP per clock hour. renown.js
Level table
Calculated by running the game's own formula. renown.js
| Renown | Total XP | + Health | + Magicka |
| 2 | 100 | 3 | 2 |
| 5 | 690 | 12 | 8 |
| 10 | 5,510 | 27 | 18 |
| 15 | 23,350 | 42 | 28 |
| 20 | 68,200 | 57 | 38 |
| 25 | 159,070 | 72 | 48 |
| 30 | 319,950 | 87 | 58 |
| 40 | 972,770 | 117 | 78 |
| 50 | 2,318,660 | 147 | 98 |
The formula, for level L with n = L − 1: 10 × floor((n³ × (n + 10) + 300n) / 30).
Renown is kept per character. Deleting an online character deletes its Renown. strings
Online progression
Player guilds
OnlineSeparate from Daggerfall's own guilds (the Fighters Guild, temples, knightly orders), players can found their own guild. Guilds-Made-Plain.md
- Up to 75 members. guildLaw.js
- Guild name up to 32 characters; custom rank names up to 20.
- The guild window has pages for Overview, Members, Arms (banner, shield and tag), Treasury (gold and silver with ledgers), Vault (pieces the guild keeps), Stores (materials and writ budget) and Settings. strings
- Guild chat:
/guild or /gu.
- In the Wild Zone, guild members can see each other on the map like party members.
Only gold that online realm characters put into a treasury can be taken out by realm characters. strings
Online progression
Professions
Gathering and crafting tracks, each running from rank 0 to 100. Open them with ↓. professionLaw.js
| Kind | Profession | Disciplines |
| Gathering | Mining, Logging, Herbalism, Hunting, Fishing | — |
| Crafting | Smithing | Smithing, Jewelcrafting |
| Crafting | Building | Carpentry, Masonry |
| Crafting | Outfitting | Outfitting |
| Crafting | Provisioning | Alchemy, Cooking |
| Crafting | Enchanting | Enchanting |
Ranks
| Rank name | From rank | XP |
| Novice | 0 | 0 |
| Apprentice | 25 | 6,250 |
| Journeyman | 50 | 25,000 |
| Expert | 75 | 56,250 |
| Master | 100 | 100,000 |
XP for rank n is 10 × n². professionLaw.js
Where to work
- Alchemy: at an alchemy station in an Alchemist's, a Mages Guild hall or your own home. 20 recipes, the same as the classic potion maker. strings
- Carpentry: a workbench in a Furniture Store, a joinery or your home. Masonry: a mason's bench in a General Store or your home. strings
- Cooking: stand close to any lit fire (campfire, hearth, brazier). strings
- Enchanting: break crafted pieces into Arcane Essence at an enchanting station in a Mages Guild hall or your home. strings
- Fishing: carry a Fishing-Net and fish while standing or swimming in water, or aboard a ship, at any hour. strings
The work happens from the Stores page (Holdings › Stores) at the station.
PvP
Duels
OnlineA one-on-one fight both players agree to, inside a ring of light. It never touches your save's health.
Starting one
- Press F on a player and choose Challenge on their Inspect card. You must be outdoors, alive and within 10 m. duelSession.js duelSession.js
- The challenge expires after 30 seconds if not answered.
- After a yes, a 3-second countdown runs.
The rules
- The ring is 12 m across from its centre (radius). Stay outside it for 2 seconds and you lose. duelSession.js
- Weapons, bows and spells all count.
- Each fighter has a separate duel health pool of 300 + 2 × Renown, kept by the server, which referees every blow. duelSession.js
- You lose by falling to zero, yielding, leaving the ring, leaving the area, or going indoors. If 5 minutes pass, it is a draw. duelSession.js
- Specialization powers and combat stars are off during a duel. strings
Wins are recorded on your player profile as a percentage of duels won.
PvP
The Wild Zone
OnlineOpen PvPThe Wrothgarian Mountains: a high-risk region where players can attack each other and monsters hit far harder.
The zone covers the Wrothgarian Mountains region on the political map, including its towns and dungeons. Offline the mountains are plain Daggerfall. wildZone.js wildZone.js
The open ocean is also a PvP area: the game's tutorial names the Wrothgarian Mountains and the open Eltheric Ocean. strings Eltheric-Ocean.md
Danger and reward
- Monsters have 4× health and deal 4× damage, elites and champions included. wildZone.js
- Loot multipliers (gold, drop chance, rare chance) scale by ring, deeper in paying more: wildZone.js
| Ring | Name | Loot bonus | Carriage fare |
| 1 | The Foothills | +25% | 2,500 gold |
| 2 | The Passes | +50% | 5,000 gold |
| 3 | The High Crags | +75% | 10,000 gold |
| 4 | The Heart | +100% | 15,000 gold |
Ring names wildZone.js, fares wildZone.js. Carriage travel inside the zone has a 10-minute cooldown.
Giants
Giants in the open can appear as Greater Giants: 4× size, 10× health and 4× damage. At most 2 at once. wildZone.js
Strangers
Any player outside your party and guild is a "stranger". They are marked in red within 600 m, and being within 200 m slows a journey the way nearby enemies do. Only party and guild members show nameplates and map markers. wildZone.js
Dying
- You wait 2 minutes before respawning. wildZone.js
- If another player kills you, your bag drops on the ground with a tenth of your gold, plus your cart's contents if the cart is with you. Equipped gear stays on you. strings
- Any other death costs the usual tenth of your carried gold. deathPenalty.js
- A player who kills you may take one piece of your worn gear.
- Your remains last 10 minutes after the respawn wait. You can return for them, and so can anyone else. wire.js
Never dropped
Potions, light sources, survival gear, food, waterskins, rest items, ammunition, bandages, your spellbook, your wallet and the Embers and Shards in it, quest items, and pieces carried over from a classic save. Letters of credit do drop. wildDropLaw.js wildDropLaw.js
Stuck? /unstuck works here too.
Online progression
Other online systems
The online layer is large and changes almost daily. These systems exist in the current code. Fuller pages will follow.
| System | What it is | Source |
| Seasons | Ranked periods of 8 weeks. /season shows standings and time left. | townSeatLaw.js |
| Arena | Rated bouts set a season rating; the leader is Arena Champion. | strings |
| Homes | Homes belong to your account, so all your online characters share them. | strings |
| Market | Listings, auctions, bids and buy orders between online characters. Goods bought across the Bay take real time to arrive. | Online-Waits.md |
| Revenants | Companions you send on missions, rated danger I to V, that keep running in real time while you are away. | strings |
| Card games | King's Gambit and an Iliac card set. Playing for gold needs an online character. | strings |
| World events | Town raids, Dagon's Breaches (Oblivion gates every two real hours), the Sea Serpent every four real hours, and the Elite Breach. | Online-Waits.md |
| Sigil Broker | Sells rewards for Deadlands Embers, won from Breaches, Sea Serpents and Elite Breach Redoubts. | strings |
| Mailbox | /mail: messages from the developers and items to claim. | chatCommands.js |
Reference
Bundled mods
DFO Online ships with many Daggerfall Unity mods translated into the game, each kept in the source's vendor/ folder with a record of its permission. Mod-Registry.md Ones named in the game's own settings text include Basic Roads, World of Daggerfall, Detailed Ships, Iliac Puddle No More, There's a Hole in the Bottom of the Ocean, Meaner Monsters, the Combat and Armor Overhaul, Unleveled Loot, Roleplay & Realism (and its Items), Oblivion leveling, Travel Options and Immersive Travel. strings Handheld Torches, Eye of the Beholder, Horse Cart and Cargo, Come Sail Away and Project Legacy also have default keys. inputActions.js
Online: some are set for everyone
OnlineMost mods stay your choice online. These are set the same for all players: strings
- Ground: Basic Roads, World of Daggerfall, Detailed Ships, Iliac Puddle No More's sea and depth, There's a Hole in the Bottom of the Ocean.
- Rules: every setting of Meaner Monsters, the Combat and Armor Overhaul, Unleveled Loot, Roleplay & Realism, Roleplay & Realism: Items and Oblivion leveling, except who stands behind shop counters and which leveling your character uses.
- Leveling: despite the line above, new online characters are locked to Classic leveling. See Levelling. oblivionLeveling.js
- Travel Options: on for everyone. Every trip over land is traveled, and ships sail only from ports.
- Immersive Travel: on for everyone. Carriages wait at every city gate and fares are the same for everyone. Its map style stays your choice.
Your own texture packs
You can add Daggerfall Unity texture mods (.dfmod files, such as DREAM) plus your own music and sounds, kept in your browser. Mod scripts do not run, so only art, sound and music mods work. strings
Reference
Differences from classic and Daggerfall Unity
Kept
The whole Iliac Bay streamed as you walk; towns, guilds, banks, courts and the watch; classic dungeons with their locks, teleporters and traps; the original hit and damage formulas; the spellbook, spell maker, item maker and Daedric artifacts; class questions, custom classes and the biography; Daggerfall's quests; the game's sounds and its MIDI music through a synth written for the project. site
New
- A hand-written WebGL2 renderer with a procedural sky, instead of Unity. site
- Every classic window is redrawn from the original art, with a modern set beside it, switchable with one press. site
- The online world, Renown, player guilds, professions and PvP.
- Several default keys have changed. See Controls.
- Bundled mods. See Bundled mods.
Not there yet
- You cannot import classic or Daggerfall Unity saves. site
- Daggerfall Unity mod scripts do not run. Texture, sound and music packs do. strings
- The project keeps a running list of what is missing in its Port Ledger.
The project's site still says there is "no mod support". The current code accepts texture packs, so that line is out of date.
Reference
History and names
The game has been renamed several times, which is why articles and videos use different names for the same project. Home.md
| Name | From |
| Daggerfall JavaScript | Start of the project |
| Daggerfall Enhanced | 13 September 2026 |
| Daggerfall Online | 27 September 2026 |
| DFO Online | 11 October 2026 |
The code's working name is project-dagger, and the domain, repository and servers still use "daggerfall" spellings. README
Timeline
- 12 September 2026: first online build and the start of the persistent shared world, per the project's notes. Multiplayer.md
- 14 September 2026: the persistent shared world switched on publicly, six days before Daggerfall's 30th anniversary. WindowsForum
- 22 September 2026: party size raised from 4 to 8. wire.js
- 24 September 2026: Renown and duels added. renown.js
- 7 October 2026: the Wild Zone opened. wildZone.js
Press coverage
Some coverage credits the YouTuber Shpan as the creator. Shpan showcased the game; the source and the site credit Lattymoy as its builder.
site
Help
Troubleshooting
- Something broke: reload first. If it stays broken, file it on the issue tracker and say what you did. site
- Exploit or security hole: use
/bug in game instead of a public post. README
- Stuck in the world:
/unstuck leaves by the door you came in, or takes you to the nearest town outdoors. chatCommands.js
- "You are on different versions of the game" when sharing a quest: both players should reload the page. strings
- Shop or bank closed online: shops, banks, guild halls, libraries and palaces never close online. A closed house is normal. buildingLocks.js
- Desktop app warns on first launch: it is not code-signed yet. See Desktop app.
- Quick load does nothing: loading is disabled online. strings
Community
Discord · Patreon · Ko-fi site
Help
FAQ
Is it free?
Yes, and so is Daggerfall. Development is funded by donations, about $600 a month, and sponsorship does not lock gameplay, code or releases behind a paywall. README
Is it an MMO?
It is a persistent shared world, but each player keeps their own quests and story. Players fight only in duels and the Wild Zone. See Playing online.
Can I bring my old character online?
Only if the server saw it online before the realm opened. Otherwise, make a new online character. See Saves and accounts.
Why can't I sleep until morning?
Online, resting moves your own clock, not the world's. A game day passes every real hour anyway. See Time and resting.
Does it work on a phone?
Yes. Touch controls appear by themselves; hand over the game files as a zip. site
Do Daggerfall Unity mods work?
Texture, music and sound packs do. Mods with scripts do not. Many popular mods are already built in. See Bundled mods.
How many friends can play together?
Eight in a party. More can share the world at once. wire.js
About
How this wiki is sourced
This is an unofficial fan wiki. Nothing here is stated without a source you can open.
Source tags
- file.js:123 — a line of the game's source code on GitHub, pinned to commit
9aa6bc46 of 26 October 2026, so the link still shows the same line after the code changes.
- strings — the English text table,
locales/en/Port_Strings.csv. It holds every line players see, so it shows what the game tells you.
- ….md — the developer's design notes in the source's
bible/ folder. Used only for history and intent, or where the code confirms the note.
- site and named outlets — public web pages.
Rules followed
- Code beats notes. The design notes often describe plans; where they disagree with the code, the code wins.
- The live site deploys from the repository's main branch, so code on main is what players run. README
- Numbers are copied from constants, or computed by running the game's own functions, never estimated.
- Where the project's own website is out of date (mods, default keys), the wiki says so.
The game is not affiliated with or endorsed by Bethesda or ZeniMax. The Elder Scrolls and Daggerfall are trademarks of ZeniMax Media Inc.