On entering the world the map asks `.mwquests` and takes the server's list of rewarded quests as its history (the full list replaces it when its count holds), then adds each "+id" as a quest is rewarded. Once the list is in, nothing is guessed from the log's chains. Needs the MoonWell server with `.mwquests`; an older one answers that the command does not exist. Checked live on the local server: history equals the server's after login and after a forced resync, a reward arrives at once. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
mod-forever-ui
The modern World of Warcraft interface (the "camelot" client), rebuilt for a
3.3.5a client: a client addon, the art it needs in patch-Z.MPQ, the login
screens, and a small server part for the statistics.
What it covers
- On screen: player, target, party and raid frames, cast bar, action, stance and pet bars, micro menu and bags bar, experience and reputation bars, buffs, minimap, quest tracker, chat, tooltips.
- Windows: bags and bank, character sheet (with every tab), spellbook, talents and glyphs, world map and quest log, social, group finder, merchant, trade, mail, guild bank, auction house, trainers and NPC dialogs, professions, barber shop, guild tabard, inspection, dressing room, game menu and settings.
- Login screens: login, character select and creation, realm list, AddOns list, options, cinematics and credits.
The calendar, the help window and the other login screens keep the client's look.
A character with many professions and a great many recipes may wait a while the first time a profession window loads its information: the client fetches every recipe's items from the server. Once they are cached, it no longer happens.
Customize UI
Esc > Customize UI (or /fui) shows a grid and puts every element of the
interface under a blue veil:
- drag an element to move it; click it to select it: nine handles appear on its box, and the one held is the reference while dragging;
- the window beside the selected element sets its size, 50 to 200 %;
- the main window sets the grid spacing and origin, and two toggles: Snap on Grid (attracted by nearby grid lines) and Sticky UI (attracted by the edges of nearby elements);
- Validate saves, Cancel (or Esc) restores the layout found on opening, Reset puts everything back to default after a confirmation.
/fui reset puts every element back to default outside the editor. Entering
combat closes the editor and cancels its changes.
Installation
Needs a 3.3.5a client (build 12340). Close the game first, and stop the worldserver if you run it: the game locks its archives while it runs, and the server reads its DBC files only when it starts.
There are two cases. If you run the server, ForeverUI also adds 18 statistics, in the DBC files of the game and of the server, and the database rows the server needs to count them. If you only play, on a server you do not run, the statistics are left out: you cannot add their rows to the server's files and database, and without them they would never count.
With the installer
Download installer.exe from the
releases of WoW-mods-installer,
run it and give it this folder, the one that contains installer.json (or drop
the folder on installer.exe). The first time, it asks for the game folder
(the one that contains Wow.exe and Data) and the worldserver folder (the
one that contains worldserver.exe): leave the worldserver folder empty if you
only play. It remembers them, shows what it finds, then installs after Enter:
- it copies
data/addon/ForeverUIinto the game'sInterface\AddOns\ForeverUI; - it writes into the archive the game reads last (usually
Data\patch-Z.MPQ, created if there is none): the art (Interface\ForeverUI, and the group member arrow of the minimap) and the login screens (Interface\GlueXML), with a receipt,WoW-mods\mod-forever-ui.receipt, listing what it wrote; - with the worldserver folder only: it adds the 18 statistics to
Achievement.dbcandAchievement_Criteria.dbc, in the game's archive and in the server'sdbcfolder, and appliesdata/sql/db-world/foreverui_statistics.sqlto the world database (withmysql.exeand the credentials ofworldserver.conf); - it reads everything back to check it.
It does not patch Wow.exe, and touches neither the server's sources nor its
configuration: nothing to rebuild. Start the worldserver and the game
afterwards, and check that ForeverUI is enabled in the AddOns list of the
character selection screen.
By hand
Needs an MPQ editor that adds files to an archive, such as Ladik's MPQ Editor, and a DBC editor for step 3. This gives the same result as the installer.
- The addon. Copy the folder
data/addon/ForeverUIinto the game'sInterface\AddOns, which givesInterface\AddOns\ForeverUI\ForeverUI.toc. - The files of the archive. Open
Data\patch-Z.MPQin the game folder, or create an empty archive with that name if there is none. At the root of the archive, create a folderinterface, then drop into it these folders themselves (not their content):foreveruiandMinimap, taken fromdata/art/interface, andGlueXML, taken fromdata/glue/Interface. At the end the archive shows, underinterface:foreverui\, and in it 58 folders (auctionframe,bankframe,bars...unknown) holding 645.blpfiles, for exampleinterface\foreverui\editmode\editmodeui.blp: the art of the interface;Minimap\ROTATING-MINIMAPGROUPARROW.blp: the arrow of a group member at the edge of the minimap, resized for the larger map;GlueXML\, holding 24 files (GlueXML.toc,ForeverUIGlue.xml...): the login screens in the camelot style.
- The statistics, if you run the server (skip this step if you only
play). The Statistics tab of the character sheet lists the
client's statistics;
data/dbc/statistics.jsonadds 18 that the camelot client has and 3.3.5 lacks, on content 3.3.5 has: boss kills in classic dungeons, raids entered by size, deaths in 20 and 40 player raids.- Take
DBFilesClient\Achievement.dbcandDBFilesClient\Achievement_Criteria.dbcas the game reads them now (from the last archive that holds them). - For each statistic of the file, add a row to
Achievement.dbc: itsid, faction -1, itsmap, no previous achievement, title and description set to itsnamein every locale, itscategory,points,orderandflags, icon 1, no reward, minimum criteria 0, no shared criteria. For each of itscriteria, add a row toAchievement_Criteria.dbc: itsid, the statistic's id, itstype, itstargetas asset, itsquantity, itstextas description in every locale, order 1, every other field 0. Fill the locale mask columns as in the client's own statistics. - Add both files to
patch-Z.MPQunderDBFilesClient\, and copy them into the server'sdbcfolder (in theDataDirofworldserver.conf): the server must read the same files as the game. - Run
data/sql/db-world/foreverui_statistics.sqlon the world database (acore_worldby default) with your MySQL client, such as HeidiSQL or MySQL Workbench. The server counts a creature kill for a statistic only when its criterion has a row inachievement_criteria_data: without these rows, the boss kill statistics stay at 0 and the worldserver logs a warning for each at start. It can be run again safely.
- Take
- Start the worldserver and the game, and check that ForeverUI is enabled in the AddOns list of the character selection screen.
Optional
The Wow.exe patch. The 3.3.5 interface cannot know which skin, face, hair
or facial hair is applied. With Wow.exe patched, character creation and the
barber number the choices, show the color swatches and open each setting as a
list of its choices by name; without the patch, each setting shows its name and
changes with its arrows. Run tools/patcher/ForeverUIPatcher.exe (Windows; it
proposes the Wow.exe found beside it), choose the game's Wow.exe and click
Patch. It changes only a Wow.exe 12340 it recognizes byte for byte, and
saves a copy of it first, Wow.exe.foreverui.bak.
PvP ranks. The PvP tab reads its rank thresholds and the Dishonored state from a server running mod-pvp-titles-ext; without it, it shows the kill count alone.
Uninstallation
Close the game first, and stop the worldserver if you run it.
With the installer
Run installer.exe again on this folder. It finds ForeverUI and, after you type
YES then Enter, removes everything that is left of it: the folder
Interface\AddOns\ForeverUI, its files in the game's archives (those its
receipt lists, and everything under Interface\ForeverUI), and the statistics'
rows in the game's DBC files; with the worldserver folder, also their rows in
the server's DBC files and in the world database. An archive it no longer
changes is deleted. It also finishes
an uninstallation started by hand. It removes neither the optional parts (see
below) nor the addon's settings (step 4 below).
By hand
- Delete the folder
Interface\AddOns\ForeverUIof the game. - In
patch-Z.MPQ, underinterface, delete the folderforeverui, the fileMinimap\ROTATING-MINIMAPGROUPARROW.blp, the 24 files ofGlueXMLadded at installation, and the 9UI_...folders ofGlues\Modelsleft by an older version. If the installer was used, delete its receipt too,WoW-mods\mod-forever-ui.receipt. - Delete the statistics' rows, in the copies of the two files inside
patch-Z.MPQand in the server'sdbcfolder: inAchievement.dbcthe rows 6137, 6139 to 6146, 6786, 15027 to 15030, 64183 to 64185 and 64300; inAchievement_Criteria.dbcthe rows 64301 to 64321. If you run the server, run only the first statement ofdata/sql/db-world/foreverui_statistics.sql, theDELETE, on the world database. - The addon's settings (positions, sizes, grid) stay in
WTF\Account\<account>\SavedVariables\ForeverUI.lua: delete that file to forget them.
Removing the optional parts
- The
Wow.exepatch. Runtools/patcher/ForeverUIPatcher.exe, choose the game'sWow.exeand click Restore: the file becomes the original again, byte for byte. The copyWow.exe.foreverui.bakstays; it can be deleted.
Languages
No text is written in the code. Texts the 3.3.5 client already knows come from
its own strings; the others come from data/addon/ForeverUI/Texts_<locale>.lua
(and ForeverUIGlueTexts_<locale>.lua for the login screens). English is the
base; French, German, Spanish and Russian are provided. To add a language, copy
the enUS file to the client's locale, translate the values only, and list it
after the English one in the .toc (or in ForeverUIGlue.xml).
Licence
GPL-2.0-or-later, see LICENSE.