Field Manual · Guild Operations
Project Athena Docs
Everything you need to set up and use the bot for your guild.
Bot Setup
Project Athena is a Discord bot that manages node war rosters, tracks attendance, and provides analytics for your BDO guild.
Installation
- Invite the bot to your Discord server using the OAuth2 link
- Assign the bot a role with Manage Channels permission
- Use
/setupin your announcement channel
Configuration
Set your node war channel, announcement roles, and war schedule through the dashboard or bot commands.
Events & Rosters
Events represent individual node wars or siege sessions. Each event has signups organized into groups.
How it works
- • Officers create events with
/event create - • Members sign up by clicking buttons on the event message
- • Groups have capacity limits — once full, new signups go to a bench
- • Announcements can be auto-posted to your war channel
Groups
Default groups are Main, Alt, and Bench. Officers can customize group names, capacity, and emojis.
Guild Boss Raid (GBR)
Guild Boss Raids are scheduled boss encounters with a configurable kill order. The bot posts an announcement with a countdown and pings roles 5 minutes before the raid.
Creating a GBR Event
- Use
/event createand select Guild Boss Raid (GBR) - Select the day(s) for the raid (including Saturday)
- Arrange the 5 bosses in your desired kill order
- Set the event time (the bot announces 5 minutes before)
- Choose to repeat weekly or run once
- Select roles to ping (optional)
- Confirm to schedule the event
How it works
- • The bot posts an announcement embed showing the date, time, and boss order
- • 5 minutes before the raid, the bot deletes the original and sends a new message with role pings
- • This ensures everyone gets pinged and notified!
- • After the raid window closes, the event is marked as closed
- • Weekly events automatically roll to the next occurrence
Scoreboard OCR
Upload a screenshot of the post-war scoreboard and Project Athena will extract player stats automatically. For BDO chat, use the bot command /ocr image to run local multilingual OCR and view the detected transcript.
How to upload
- Go to the dashboard → your server → Player Stats or PVP History
- Click "Upload Scoreboard"
- Select your screenshot (PNG/JPG)
- Set the war date and result (win/loss)
- Review the extracted data and confirm
Extracted data
For each player: kills, deaths, assists, damage dealt/taken, CCs, healing, support, structure damage, siege stats, and time alive.
Ikusa Combat Logs
Ikusa Logger is an open-source network sniffer that captures full combat events during node wars.
Setup
- Install prerequisites: Npcap 1.7.8, Node.js 16+, Python 3+
- Clone the ikusa_logger repository
- Run
build.bat(Windows) orbuild.sh(Linux) - Start the logger before node war begins
- After war, save or upload the logs
What it captures
Kill/death events with timestamps, player names, guild names, and the full event timeline. This data feeds into the Guild Performance dashboard.
Guild Performance
Analytics dashboard powered by score reports and combat logs.
Win Rate
Percentage of wars won
Avg K/D
Guild-wide kill/death ratio
Top Fragger
Player with most total kills
Leaderboard
Ranked by kills, K/D, damage
Attendance Tracking
Visual attendance grid showing player participation across node wars.
How it works
The grid shows dates as rows and players as columns. Green cells indicate attendance (from signups or score reports). The attendance rate shows what percentage of wars each player attended.
Data sources
- • Event signups — who signed up for each war
- • Score reports — who appeared in the post-war scoreboard
Guild Activity (BDO API)
View your BDO guild profile pulled from the official Pearl Abyss website or the BDO Community API.
Supported regions
Setup
Go to Guild Activity in the dashboard, enter your BDO guild name and region. The guild must exist on the BDO website for that region.
Data shown
Guild name, region, creation date, guild master, member count, and territory occupation.
Web Dashboard
The dashboard is your central hub for managing everything.
Access
Sign in with your Discord account. Admin features (score uploads, settings) require Manage Server or Administrator permissions.
Bot Commands
All available slash commands for managing your guild.
| Command | Description | Permission |
|---|---|---|
/event create | Create a new event (Node War, GBR, or Custom) | Admin |
/event edit | Edit an existing event | Admin |
/event list | List upcoming events | Anyone |
/event show | Show event information | Anyone |
/event delete | Delete an event | Admin |
/event close | Close an event to prevent new signups | Admin |
/event repost | Repost an event to the war channel | Admin |
/set-nwchannel | Set current channel as Node War channel | Admin |
/ocr | Run local multilingual OCR on BDO chat from an image | Anyone |
FAQ
Frequently asked questions about Project Athena.
How do I link my Discord to my BDO character?
Currently, attendance uses your Discord display name. Score reports use BDO family names from OCR. A name mapping feature is planned to link Discord accounts to BDO characters.
What regions are supported for Guild Activity?
EU, NA, SA, KR via the BDO Community API, and ASIA (TH/SEA) via direct scraping of the Pearl Abyss website.
How accurate is the scoreboard OCR?
Accuracy depends on screenshot quality. Clear, full-screen screenshots work best. You can review and edit the extracted data before saving.
Can I use this for siege wars?
Yes. Create an event with kind "siege" and the workflow is the same as node wars.
Where is the data stored?
Events and settings are stored locally in a JSON file. Score reports and images are stored in Supabase (PostgreSQL + S3).
Privacy Policy
Last updated: August 5, 2026This policy explains what data Project Athena — the Discord bot and the web dashboard — collects, how that data is used and stored, and the choices you have. It applies to everyone who uses the bot or signs in to the dashboard.
1. What We Collect
When you use Project Athena, we collect the following information:
- Discord account info — when you sign in to the dashboard: your Discord user ID, username, display name, and avatar.
- Guild memberships — for each Discord server you share with the bot: server ID, name, icon, your permission level, and whether you own the server.
- Events & rosters — events you create, signups (Discord user ID and display name), and group allocations.
- Score reports — uploaded screenshots, the extracted stats (family name, kills, damage, and more), war date and result, raw OCR text, and the uploader's name and user ID.
- Lookups — BDO guild names, regions, and player names you search for in Guild Activity.
2. How We Use It
We use your data solely to provide and improve the service:
- Running the bot — event announcements, roster signups, GBR scheduling, and reminders.
- Dashboard — managing events and settings, viewing stats, attendance, and performance analytics.
- OCR — turning scoreboard screenshots into player stats.
- Security — session validation, permission checks, CSRF protection, and rate limiting.
- We never use your data for advertising or profiling.
3. Where Data Is Stored
Your data is stored in the following locations:
- Events and settings — a JSON file on the server hosting the bot.
- Score data and screenshots — Supabase, a hosted PostgreSQL database and object storage.
- Sessions — in Supabase; the cookie holds an opaque random token and only a SHA-256 hash of it is stored. Falls back to server memory when the database table is not set up.
- Transient caches — login states, preview images, and rate-limit counters live in memory and expire automatically.
4. Data Sharing
We share your data only as necessary to provide the service:
- Discord — sign-in and bot operations via the Discord API; avatars and icons load from Discord's CDN.
- Google Gemini — when OCR is enabled and quota allows, uploaded scoreboard screenshots are sent to Google's Gemini API for text extraction. Otherwise extraction runs locally with Tesseract; the
/ocrchat command is fully local. - BDO data sources — guild and player lookups you request are fetched from the BDO Community API or Pearl Abyss.
- Your data is never sold or rented. The app has no advertising or third-party trackers.
5. Data Retention
How long we keep your data:
- Sessions — expire after 30 days of inactivity, and expired sessions are deleted automatically.
- Transient data — login states (10 minutes), preview images (10 minutes), and lookup caches (5–10 minutes) are held in memory and auto-expire.
- Events and score reports — have no automatic expiry. They are kept as long as the service is in use and remain until deleted by you or a guild officer.
6. Your Rights & Choices
You have the following rights regarding your data:
- Log out — the account menu ends your dashboard session immediately.
- Delete content — officers can delete events and scoreboards (including the uploaded screenshots) from the dashboard or with bot commands.
- Leave a server — removing the bot stops further data collection for that server.
- Scoreboard data is tied to the guild, not to your Discord account, so leaving a server or deleting your Discord account does not erase it automatically — contact us and we'll help you remove it.
7. Contact
If you have questions about this privacy policy or how your data is handled, reach out through:
- Discord — 0xf4f4
- Ko-fi — ko-fi.com/nozenn