New World Buddy is a web application that provides data and tools for the game New World.
This is a private project. We are not affiliated by Amazon or Amazon Game Studios.
All data and assets extracted using these tools are the intellectual property of AGS. Please respect the Amazon Games Content Usage Policy.
- Browse ingame items (links to nwdb.info or nw-guide)
- Tracking/Bookmarking system (Track your learned recipes or named items collections)
- Crafting calculator and shopping list tool
- Price importer
- Expedition insights
- Armorsets overview and tracker
- XP and Tradeskill tracker
- Gearset builder
- website: https://www.nw-buddy.de/
- github: https://github.com/giniedp/nw-buddy
- discord permalink: https://discord.gg/PWxUwUagVX
This repository does not contain the game data. Game data must be extracted from a local New World installation during development.
The software and development stack is based on the following technologies:
- golang
- pnpm
- Angular
- Tailwind css (Daisy UI)
- Electron
For build commands, see package.json
node
runtime andpnpm
package manager are required. See .nvmrc for current version
git clone [email protected]:giniedp/nw-buddy.git
cd nw-buddy
# create a .env file from example file
cp .env.example .env
# install dependencies
pnpm install
# download recent new world data files
pnpm nw-cdn download -v live
# start development server
pnpm dev:web
- make sure golang is installed. See go.work for current version
- if you use
vscode
, make sure thego
extension is installed - make sure
.env
file exists, copy it from .env.example and updateNW_GAME_LIVE
(andNW_GAME_PTR
) variables - run
pnpm nwbt doctor
to check if game packages can be accessed and tools are available
Some missing tools can be ignored. All required tools are in the ./tools/bin
directory and should be available.
pnpm nwbt pull
This extracts and processes assets and datasheets. It also generates and updates front-end type definition files. Use a git diff tool to see what has changed.
If there are breaking changes, pnpm dev:web
should yell at you. Small patches are usually fine without further code changes.
Scan data for runtime type information
pnpm nwbt types scan
This should update type information json files without changing source code files. Again, use git diff tools to see what has changed.
Now generate source code
pnpm nwbt types generate
This will generate golang source code and may break the nwbt
tools. Fix golang errors to continue.
pnpm nwbt pull
This updates frontend data and generates types. Fix whatever needs to be fixed.
pnpm nwbt --help
shows all available commands.
Run pnpm dev
. Starts both, the electron app and a web browser in parallel
Run pnpm dev:web
if you only need a web browser for development
There are multiple target that can be built
Run build:electron
. This will build the electron frame, the web app with electron target and then bundle it all together. The resulting .exe
is written to releases/nw-buddy [VERSION].exe
Run build:web
. This will build the web app that can be uploaded and hosted on a server. The result is written to dist/web