Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[3.0.0] Spire Admin #109

Merged
merged 256 commits into from
Apr 3, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
256 commits
Select commit Hold shift + click to select a range
ccd4b68
Test
Akkadius Dec 29, 2022
ea44ab2
Update Connections.vue
Akkadius Dec 29, 2022
1c5f97c
Update Navbar.vue
Akkadius Dec 29, 2022
0685a8d
Add escape button back into quest api explorer
Akkadius Dec 29, 2022
39ebd01
Update Navbar.vue
Akkadius Dec 30, 2022
a554394
Fix Github login
Akkadius Dec 30, 2022
9197484
Suck less
Akkadius Dec 30, 2022
f404ab1
Break page and hotkeys
Akkadius Dec 30, 2022
9f3be31
Spire initialization work
Akkadius Dec 30, 2022
a4fa9c7
More init work
Akkadius Dec 30, 2022
3686b4f
More init work
Akkadius Dec 30, 2022
ca95456
Finish user login
Akkadius Dec 30, 2022
4381811
Fix issues with connection page
Akkadius Dec 30, 2022
9c28ec4
Tweaks to auth
Akkadius Dec 30, 2022
30c10df
Auto inject local database instance into db connection
Akkadius Dec 30, 2022
3f0130b
Fix database connection update info logic
Akkadius Dec 30, 2022
d43a05b
Connection management work / cleanup
Akkadius Dec 30, 2022
17f46a4
Local user management
Akkadius Dec 31, 2022
da1e038
Navbar admin fixes
Akkadius Dec 31, 2022
edc44dd
Password reset
Akkadius Dec 31, 2022
d5f9200
Change permissions response code to 403 instead of 401, be more descr…
Akkadius Dec 31, 2022
a8024f0
Implement Occulus proxy logic
Akkadius Dec 31, 2022
4b77e9c
Get first Occulus page ported over
Akkadius Dec 31, 2022
a16d0f7
More occulus work
Akkadius Jan 1, 2023
b8089f1
UI tweaks
Akkadius Jan 1, 2023
39891cc
Port players online page
Akkadius Jan 1, 2023
4a43264
UI tweaks
Akkadius Jan 1, 2023
1837ba5
Zone Servers
Akkadius Jan 1, 2023
5d15e8e
Ported netstat page
Akkadius Jan 1, 2023
a9c2e36
Port configuration
Akkadius Jan 1, 2023
da002cb
Port tools
Akkadius Jan 1, 2023
f8c5aba
Port client asset public downloading
Akkadius Jan 1, 2023
a0095f8
Tweaks
Akkadius Jan 1, 2023
3ef5801
Misc tweaks
Akkadius Jan 2, 2023
c54ac0d
Implement process management
Akkadius Jan 3, 2023
d7670d9
Move configuration nav
Akkadius Jan 4, 2023
513ac61
Consolidate navs
Akkadius Jan 4, 2023
103a89d
Cleanup UI
Akkadius Jan 4, 2023
79dc826
Update ServerProcessButtonComponent.vue
Akkadius Jan 4, 2023
a18886c
Server rules cleanup, deep link rule searching
Akkadius Jan 4, 2023
b5a7157
Tweak and cleanup server rules page and zoneservers page
Akkadius Jan 4, 2023
e63b6c7
Cleaning up components
Akkadius Jan 4, 2023
fef8ade
Tweaks
Akkadius Jan 4, 2023
e64f736
Occulus require info route
Akkadius Jan 4, 2023
8127bc1
Only run Occulus integration locally
Akkadius Jan 4, 2023
34b15db
AppEnv route checks
Akkadius Jan 4, 2023
56bf8e5
Update PlayersOnlineComponent.vue
Akkadius Jan 4, 2023
2e86361
Tweaks
Akkadius Jan 4, 2023
8810886
Generate player event model
Akkadius Jan 4, 2023
404d2c7
Generate API pipeline
Akkadius Jan 4, 2023
ff50a7b
Update wire_gen.go
Akkadius Jan 4, 2023
a770761
Gen PlayerEventLogs relationships
Akkadius Jan 4, 2023
2c58b52
Player event log viewer work
Akkadius Jan 4, 2023
2c46dbe
More player event log work
Akkadius Jan 4, 2023
53182dc
More player event work
Akkadius Jan 4, 2023
a1fa5a2
PLAYER_EVENT.REZ_ACCEPTED
Akkadius Jan 4, 2023
c4de095
Update PlayerEventLogs.vue
Akkadius Jan 4, 2023
da1ee36
LogSettings
Akkadius Jan 5, 2023
f6fe450
[Occulus] Stop timer, dev process launch, info-error banner fixes
Akkadius Jan 9, 2023
a05b910
Port over log streaming
Akkadius Jan 9, 2023
8f5f2f7
Cleanup zone log streaming
Akkadius Jan 9, 2023
7e4f0b8
Update Navbar.vue
Akkadius Jan 9, 2023
1283580
Run process management for Occulus when web service is booted
Akkadius Jan 9, 2023
336dc27
eqemuserverapi
Akkadius Jan 9, 2023
3b56946
Update hello_world_cmd.go
Akkadius Jan 9, 2023
7738ed5
EqemuAdminClient -> OcculusClient
Akkadius Jan 9, 2023
5bdb67b
Log ui
Akkadius Jan 10, 2023
954ed8c
Move controllers to their domain boundary
Akkadius Jan 10, 2023
7139d78
Hook up eqemuserverapi controller
Akkadius Jan 10, 2023
747c627
Change response struct
Akkadius Jan 10, 2023
3a2d5c6
Reload log settings in game
Akkadius Jan 10, 2023
f7a6da4
Finish log settings
Akkadius Jan 10, 2023
971c0a0
Discord webhooks
Akkadius Jan 10, 2023
65aaac2
UI tweaks
Akkadius Jan 10, 2023
faeca18
Hot reload management page
Akkadius Jan 10, 2023
dd18957
Choose static zones from launcher options
Akkadius Jan 10, 2023
bc02929
Update eqemuserverapi_controller.go
Akkadius Jan 10, 2023
9412b38
Implement database backups
Akkadius Jan 10, 2023
8cf7a0f
Update LogSettings.vue
Akkadius Jan 10, 2023
5107292
Update ServerRules.vue
Akkadius Jan 10, 2023
0096faf
Server reload api
Akkadius Jan 10, 2023
9fbb2ce
Update LogSettings.vue
Akkadius Jan 10, 2023
c6d377d
Update LogSettings.vue
Akkadius Jan 10, 2023
ade3cd7
Update QuestHotReload.vue
Akkadius Jan 10, 2023
36fbc65
Player event log settings
Akkadius Jan 10, 2023
6dbfd3d
Bulk loading
Akkadius Jan 10, 2023
6107eeb
More filters
Akkadius Jan 10, 2023
bdfc15b
Update PlayerEventLogs.vue
Akkadius Jan 10, 2023
a23de91
More work
Akkadius Jan 12, 2023
1c5642c
Explorer work
Akkadius Jan 12, 2023
0f93e7a
Loading, raw expansion
Akkadius Jan 12, 2023
d02e6d3
UI wrap
Akkadius Jan 12, 2023
996c1c9
Count endpoint for pagination
Akkadius Jan 12, 2023
8820290
Pagination
Akkadius Jan 12, 2023
e615d82
Add count endpoint to code generation
Akkadius Jan 12, 2023
6d67b7a
UI tweaks
Akkadius Jan 12, 2023
077ca99
Trade event render
Akkadius Jan 12, 2023
5f81900
More UI work
Akkadius Jan 12, 2023
3f5e579
Handin events
Akkadius Jan 13, 2023
0b58493
Update PlayerEventDisplayComponent.vue
Akkadius Jan 13, 2023
b143862
Update occulus_controller.go
Akkadius Jan 14, 2023
4800151
Update eq-ui.css
Akkadius Jan 14, 2023
9084dc6
Tweaks
Akkadius Jan 15, 2023
1b47af9
Telnet client hardening
Akkadius Jan 26, 2023
b03e400
Fetch Occulus binary from FS when release request fails
Akkadius Jan 26, 2023
9fa0557
Nil check
Akkadius Jan 26, 2023
78628b0
Nil check since switching to pointer
Akkadius Jan 26, 2023
9eb08fb
Update app-env.ts
Akkadius Jan 26, 2023
0fda10c
Avatar fix
Akkadius Jan 26, 2023
85b68f3
Connection active fix
Akkadius Jan 26, 2023
05d342f
Default local
Akkadius Jan 26, 2023
d32cefb
Connection delete fix
Akkadius Jan 26, 2023
b866b51
Reload on delete
Akkadius Jan 26, 2023
e57b9f5
Connection tweaks
Akkadius Jan 27, 2023
16b9a20
CSS tweals
Akkadius Jan 30, 2023
4c20895
UI tweaks
Akkadius Jan 30, 2023
efff72c
Update EQSpellPreviewTable.vue
Akkadius Jan 30, 2023
86b18b1
Add whereJson support
Akkadius Jan 30, 2023
0d2bdc8
Filters
Akkadius Jan 30, 2023
800fffc
Add event filters
Akkadius Jan 30, 2023
5d8e558
Tweaks
Akkadius Feb 1, 2023
11e989d
Fix the rate limiter
Akkadius Feb 1, 2023
9b586ab
Add self built releases tab, tab selection component propogation
Akkadius Feb 1, 2023
d389bb8
Watch selection updates
Akkadius Feb 1, 2023
4193d46
Fix zero state
Akkadius Feb 1, 2023
fef2db0
Add hack / killed events
Akkadius Feb 1, 2023
b55e5ca
Add contains filters
Akkadius Feb 1, 2023
9a41198
Update PlayerEventLogs.vue
Akkadius Feb 1, 2023
179f800
CSS tweaks
Akkadius Feb 7, 2023
0a0f919
Cleanup
Akkadius Feb 7, 2023
11e1655
Server config controller work
Akkadius Feb 7, 2023
9cead7b
More nav work
Akkadius Feb 7, 2023
1090c9b
More nav work
Akkadius Feb 7, 2023
3c24cf1
Update PlayerEventLogs.vue
Akkadius Feb 8, 2023
b8757cb
Misc tweaks
Akkadius Feb 8, 2023
56adf0c
Combine stderr / stdout
Akkadius Feb 9, 2023
1fd6210
Swap report check
Akkadius Feb 9, 2023
8065030
Server config work
Akkadius Feb 9, 2023
ab2ce4d
UCS
Akkadius Feb 9, 2023
9df8916
Port zone server config
Akkadius Feb 9, 2023
96e579e
Remove old config routes / views
Akkadius Feb 9, 2023
d985fdc
Update ServerConfig.vue
Akkadius Feb 9, 2023
6e17aa7
Update DiscordCrashWebhook.vue
Akkadius Feb 9, 2023
fa5e83a
Code gen
Akkadius Feb 9, 2023
2dd7552
Port message of the day
Akkadius Feb 9, 2023
1c8474d
Update Navbar.vue
Akkadius Feb 10, 2023
d07c62b
Wrap up Websocket proof of concept
Akkadius Feb 10, 2023
92712b5
Websocket tweaking
Akkadius Feb 10, 2023
d995248
Rename eqemuserverapi to eqemuserver
Akkadius Feb 10, 2023
d9f2908
Move spireuser to spire
Akkadius Feb 10, 2023
3d87e39
websocketserver to websocket
Akkadius Feb 10, 2023
3751402
Websocket authentication, client
Akkadius Feb 10, 2023
7e7cc4f
Updater work
Akkadius Feb 10, 2023
8f2cd1f
Release installation
Akkadius Feb 10, 2023
cbedba7
Build streaming
Akkadius Feb 10, 2023
1f7945e
Build settings, progress streaming, cleaning
Akkadius Feb 11, 2023
8811225
Branch work
Akkadius Feb 11, 2023
fb83c46
Update eqemuserver_controller.go
Akkadius Feb 11, 2023
9bf1516
Finish server update
Akkadius Feb 11, 2023
73f817e
Remove Occulus Server Code management
Akkadius Feb 11, 2023
cf7426e
Cross platform connection check
Akkadius Feb 11, 2023
8ef529b
Cross platform support work (Windows testing)
Akkadius Feb 11, 2023
c7cf3af
Telnet hardening
Akkadius Feb 11, 2023
4c2f364
Update ServerReload.vue
Akkadius Feb 13, 2023
2020665
Dump hardware info for dashboard swap
Akkadius Feb 13, 2023
ed7833c
System endpoints
Akkadius Feb 15, 2023
cfafd76
Remove zone server dependency on Occulus (Spire native)
Akkadius Feb 15, 2023
bd92a4b
Update ZoneServers.vue
Akkadius Feb 15, 2023
c2a9069
resource endpoints
Akkadius Feb 15, 2023
88eda4f
Header work
Akkadius Feb 15, 2023
c4c2fb3
Migrate dashboard counter stats to Spire
Akkadius Feb 15, 2023
78125a5
Feed Server Processes card from admin header data feed
Akkadius Feb 15, 2023
a20d3b8
Port dashboard
Akkadius Feb 15, 2023
d8ae2c6
Consolidate path management logic
Akkadius Feb 15, 2023
e2eecaa
Port client file exports
Akkadius Feb 15, 2023
4f33c05
Port manual backups to Spire
Akkadius Feb 15, 2023
70f0631
Cleanups
Akkadius Feb 15, 2023
f2fcaa0
Automate "days back" to last release, exclude notes found in previous…
Akkadius Feb 16, 2023
4deb953
Add hotfix replacement back
Akkadius Feb 16, 2023
45939f3
Coffee
Akkadius Feb 16, 2023
d359765
Fix changelog partial contains to exact
Akkadius Feb 16, 2023
52a424a
More changelog generator consistency tweaks
Akkadius Feb 16, 2023
c714795
File log streaming
Akkadius Feb 25, 2023
ce8ce5e
Search filtering, watch timer etc
Akkadius Feb 25, 2023
f8353cb
Update FileLogs.vue
Akkadius Feb 25, 2023
a491dee
Text formatting
Akkadius Feb 25, 2023
af998ad
Add line buffers for rendering performance
Akkadius Feb 25, 2023
e59db49
File deletion and filters
Akkadius Feb 25, 2023
ed9258a
Search all files
Akkadius Feb 25, 2023
2c34453
Code complete
Akkadius Feb 25, 2023
3a5a840
Replace nav and old file logs
Akkadius Feb 25, 2023
74e48f9
Update SpireInitialize.vue
Akkadius Feb 26, 2023
0cee96e
Update FileLogs.vue
Akkadius Feb 26, 2023
27013f5
Update FileLogs.vue
Akkadius Feb 26, 2023
f96d88c
Add localaddress address to config
Akkadius Feb 26, 2023
2df6c5c
Preflight checks, http streaming client
Akkadius Feb 27, 2023
22a5ccb
Cleanup
Akkadius Feb 27, 2023
6e0cbec
Kbar
Akkadius Feb 28, 2023
4513680
Cleanup
Akkadius Feb 28, 2023
8a7fb84
.
Akkadius Feb 28, 2023
152cd11
Add autofocus to pages
Akkadius Mar 1, 2023
89ba70d
Update PlayerEventLogs.vue
Akkadius Mar 1, 2023
5bce264
Admin permissions start
Akkadius Mar 1, 2023
16b0805
Permission visual improvements
Akkadius Mar 1, 2023
a9b2aca
Cleaning up bubbling up error messages
Akkadius Mar 1, 2023
8ec2b53
More permission work
Akkadius Mar 1, 2023
b917bc6
More cleanup for permissions
Akkadius Mar 1, 2023
2bf14a3
Tweak author formatting
Akkadius Mar 3, 2023
466e051
Keyboard shortcuts modal
Akkadius Mar 26, 2023
26748bc
Add item creation event to renderer
Akkadius Mar 26, 2023
39d723e
Detect when window blurs
Akkadius Mar 26, 2023
98bc52c
Remove duplicate groundspawn event renderer
Akkadius Mar 26, 2023
5e47ead
Handle task event renders
Akkadius Mar 26, 2023
5b3b0e9
Split money, task updates renders, server creation
Akkadius Mar 26, 2023
710607e
Trader purchase event
Akkadius Mar 26, 2023
26f820d
Trader events
Akkadius Mar 26, 2023
53c77b8
Update FileLogs.vue
Akkadius Mar 8, 2023
540819b
More key work
Akkadius Apr 1, 2023
f846a85
Update Navbar.vue
Akkadius Apr 1, 2023
d7e4e43
Update Navbar.vue
Akkadius Apr 2, 2023
71ffe92
Bubble backup error
Akkadius Apr 2, 2023
709ad51
Add image lazy loading to changlog, have changelog take up whole page…
Akkadius Apr 2, 2023
9c3be89
Min image height, changelog padding
Akkadius Apr 2, 2023
95c68ca
Fix state bug with players online
Akkadius Apr 2, 2023
b879038
Initial 3.0.0 release notes
Akkadius Apr 2, 2023
fd0045c
Update CHANGELOG.md
Akkadius Apr 2, 2023
0f6d433
Update lazy-image-load.ts
Akkadius Apr 2, 2023
ba28557
Update CHANGELOG.md
Akkadius Apr 2, 2023
661cfc0
Fade in lazy image load
Akkadius Apr 2, 2023
d1bcc38
Tweaks
Akkadius Apr 2, 2023
9937409
tweaks
Akkadius Apr 2, 2023
09cc523
Update Home.vue
Akkadius Apr 3, 2023
bee5c73
Scroll to hash logic improve
Akkadius Apr 3, 2023
eff4215
Cleanup database backups view
Akkadius Apr 3, 2023
d1bb261
Fix https://github.com/Akkadius/spire/issues/107
Akkadius Apr 3, 2023
74505cf
Address https://github.com/Akkadius/spire/issues/106
Akkadius Apr 3, 2023
6c991d4
Fix https://github.com/Akkadius/spire/issues/104
Akkadius Apr 3, 2023
55fae53
Fix https://github.com/Akkadius/spire/issues/92
Akkadius Apr 3, 2023
4603f76
Address https://github.com/Akkadius/spire/issues/95
Akkadius Apr 3, 2023
3084a0c
Address https://github.com/Akkadius/spire/issues/91
Akkadius Apr 3, 2023
64c3b3b
Add tab deep linking to item editor
Akkadius Apr 3, 2023
7646d36
Add tab deep linking to spell editor
Akkadius Apr 3, 2023
2416417
Fix extradmgskill, skillmodtype zero value display
Akkadius Apr 3, 2023
b3cc06d
Fix https://github.com/Akkadius/spire/issues/100
Akkadius Apr 3, 2023
72b742e
Implement https://github.com/Akkadius/spire/issues/98 and cleanup sta…
Akkadius Apr 3, 2023
de5cc4d
Fix https://github.com/Akkadius/spire/issues/83
Akkadius Apr 3, 2023
f05bc24
Update NpcSpellListEditor.vue
Akkadius Apr 3, 2023
e754b3f
Update changelog
Akkadius Apr 3, 2023
04eb4d6
Update CHANGELOG.md
Akkadius Apr 3, 2023
53b6dfc
Update clipboard.ts
Akkadius Apr 3, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 0 additions & 4 deletions .env.debug.host
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,3 @@ MYSQL_EQEMU_HOST=localhost
MYSQL_PORT=33066
MYSQL_EQEMU_PORT=33066
MYSQL_SPIRE_PORT=33066
AWS_ENDPOINT=http://localhost:4566
REDIS_CACHE_ADDRESS=localhost:6379
API_TEST_SERVER_ADDRESS=127.0.0.1:7777
AWS_SECRETS_AWS_ENDPOINT=http://127.0.0.1:4566
19 changes: 8 additions & 11 deletions .env.dev
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,20 @@ GITHUB_CLIENT_SECRET=a609611eb0bfeb2c10a1160734ee257cd4fe8a81
GITHUB_REDIRECT_CALLBACK=http://localhost:3010/auth/github/callback

# SPA
SPA_SKIP_PATH_PREFIXES=/auth,/api,/swagger
SPA_SKIP_PATH_PREFIXES=/auth,/api,/swagger,/websocket

# JWT
JWT_SECRET_KEY=xxx

# Debug levels (0 = off, 1 = normal, 2 moderate, 3 very detailed)
DEBUG=0

# Occulus development variables
# Use these when you want to run Occulus for development locally
# instead of using the release binary
# OCCULUS_PORT=3000
# OCCULUS_DEV_CMD='/home/eqemu/server/Occulus/app/bin/admin'

#############################################
# MYSQL
#############################################
Expand Down Expand Up @@ -62,13 +68,4 @@ MYSQL_EQEMU_CONTENT_DB_USERNAME=user
MYSQL_EQEMU_CONTENT_DB_PASSWORD=password
MYSQL_EQEMU_CONTENT_DB_PORT=3306

MYSQL_QUERY_LOGGING=true

#############################################
# Cache
#############################################
CACHE_DRIVER=redis
REDIS_CACHE_PASSWORD=
REDIS_CACHE_ADDRESS=redis:6379
REDIS_CACHE_DATABASE=0
CACHE_PREFIX=
MYSQL_QUERY_LOGGING=true
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ public/
spire.exe
spire.exe~

!internal/spire

frontend/public/eq-asset-preview-master
internal/http/spa/a_spa-packr.go

Expand Down
237 changes: 237 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,240 @@
## [3.0.0] 4/2/2023 - Spire Admin

This release is nothing short of massive. Buckle up! The changelog notes are hefty!

### [Spire Admin] Dashboard

Similar to the dashboard in [Occulus](https://github.com/Akkadius/Occulus), but ported for modernization, quality of life changes, and the high-level server information is always available at the top of every admin page.

![image](https://user-images.githubusercontent.com/3319450/229333545-e8c6132c-68f7-4971-8d7c-0e00eda67eb6.png)

### [Spire Admin] Static Zone Launcher

You can now manage launch static zones via the Occulus launcher directly in the server start UI.

![image](https://user-images.githubusercontent.com/3319450/229336435-f2f1a173-b1f9-4c6e-b53b-1b79f19af9bc.png)

### [Spire Admin] Server Pre-Flight Checks

Before you launch your server, you are required to run basic pre-flight checks, this will ensure that your processes don't have any issues and you are made aware of them before all of your processes are launched in the background

![image](https://user-images.githubusercontent.com/3319450/229333233-b0fc22b1-0df0-467b-8b13-53621c382306.png)

### [Spire Admin] Players Online

![image](https://user-images.githubusercontent.com/3319450/229333775-104344eb-e008-48a6-9acd-13a340401bdc.png)

### [Spire Admin] Zone Servers

List and search booted zone processes and resources, kill zone processes

![image](https://user-images.githubusercontent.com/3319450/229333800-b39a8443-71fb-49c6-8af8-54d9ba0391dd.png)

### [Spire Admin] Manual Backups

Manually backup server assets

![image](https://user-images.githubusercontent.com/3319450/229333864-de528f46-c81a-4404-9327-cb06dd2bdddc.png)

### [Spire Admin] EverQuest Client Asset Exports (Publicly Downloadable Links)

![image](https://user-images.githubusercontent.com/3319450/229333921-73b79f4c-d1d6-44f8-bdee-bead89b847b5.png)

### [Spire Admin] Server Configuration Management

Tired of editing that pesky `eqemu_config` JSON file manually? Spire admin breaks out configuration editing into easy to use deep-link able sections

![image](https://user-images.githubusercontent.com/3319450/229333958-4eb2b9de-38d0-43d0-8dd9-67bd5c666a19.png)

### [Spire Admin] Crash Log Webhooks (Occulus)

Crash log webhooks that you used in Occulus? Spire integrates with Occulus to continue providing those in Spire. You can edit the Discord webhook right in the UI

![image](https://user-images.githubusercontent.com/3319450/229334006-10d5e97f-09c9-4f77-8bfd-98552ca90d60.png)

### [Spire Admin] Message of the Day

You know that message players read when they log in? You edit that here

![image](https://user-images.githubusercontent.com/3319450/229334040-c8a42200-53ec-4dc1-83e9-91a5a80d08cd.png)

### [Spire Admin] Quest Hot Reload (Occulus)

The hot reload functionality that was brought to you in Occulus is now configurable directly from Spire Admin. Anytime you make changes here it will immediately take affect.

Critical bug fixes have also been made to the HRM

![image](https://user-images.githubusercontent.com/3319450/229334070-96250391-8cc4-4c9f-b00c-e267d0f96969.png)

### [Spire Admin] Server Reloading

You can trigger server reloads directly through Spire. Reloads are triggered globally and reload data from the database into the server memory state.

Many tools already utilize this when editing related data.

![image](https://user-images.githubusercontent.com/3319450/229336522-158c268e-48bb-4180-8ca3-e53a9bc4e446.png)

### [Spire Admin] Server Rules

List, search, edit your server rules in real time. Spire will reload rules directly on your server immediately so you do not need to manually reload them in game. Super handy!

![image](https://user-images.githubusercontent.com/3319450/229334145-4536565e-50b2-4b17-bc7a-7f0bf485bd92.png)

### [Spire Admin] Server Database Backup

Ever just want to take a quick manual database backup? Spire admin could not make this any easier by tapping into the native eqemu server utility that wraps around `mysqldump`. You can select specific types of tables to dump, dump everything and compress it with an immediate download

![image](https://user-images.githubusercontent.com/3319450/229334188-57e515d1-efee-4572-9b6d-620b4d1cbb87.png)


### [Spire Admin] Server File Log Viewer

Completely overhauled and ported from Occulus. Spire file log viewer is highly performant, streams realtime and only streams changes since the last file write.

Emulates console coloring, filters by log type, search filters, file deletion, bulk file deletion and more!

<video src="https://user-images.githubusercontent.com/3319450/229334302-064df32f-9f27-405a-a6f0-c5623ab35400.mp4" data-canonical-src="https://user-images.githubusercontent.com/3319450/229334302-064df32f-9f27-405a-a6f0-c5623ab35400.mp4" controls="controls" muted="muted" class="d-block rounded-bottom-2 border-top width-fit" style="max-height:640px; min-height: 200px"></video>

### [Spire Admin] Discord Logging Webhooks

Manage your Discord logging webhooks directly through Spire.

![image](https://user-images.githubusercontent.com/3319450/229334410-111c2cc4-40d6-4644-8426-55f7e70ef64d.png)

### [Spire Admin] Manage Server Logging Settings

Manage your logging settings directly in Spire admin. Anytime changes are made your logging settings are reloaded real-time in the server without having to reboot or type commands in game!

![image](https://user-images.githubusercontent.com/3319450/229334469-85521c13-5435-4419-b9c2-2102949d7043.png)

### [Spire Admin] Player Event Log Explorer

Accompanied by a massive new feature in the EverQuest Emulator server ([see Player Event Logging](https://github.com/EQEmu/Server/pull/2833)) we are brought a powerful new explorer for rich auditing tools.

#### Rich Data Viewing

Spire translates event data into viewable NPC, Item, Spell etc. cards to have contextual insight into the events and what they contain.

![image](https://user-images.githubusercontent.com/3319450/216812922-547efee0-4a84-4b1d-8637-1a2d13283cba.png)

![image](https://user-images.githubusercontent.com/3319450/216810318-32e0e8f3-1392-497e-a14b-55f6585e7edd.png)

#### Event Raw

Any event you can see the richly formatted event or you can inspect the raw event data

![event-raw](https://user-images.githubusercontent.com/3319450/216810779-b14bbb99-7492-497e-afdf-407843ab1275.gif)

#### Flexible Filtering

You can filter by event type, zone_id, character_id which are top level filters always available and indexed regardless of event type

![event-filter](https://user-images.githubusercontent.com/3319450/216810442-62040911-f17c-4b41-b032-ec00a440c49d.gif)

#### Advanced Event Data Filtering

You can filter by JSON event data

![event-data-filter](https://user-images.githubusercontent.com/3319450/216810590-9802cfb5-a619-4e08-ab0e-342376e4044b.gif)

You can even filter by deeply nested data. For example if you're trying to search for a certain item that was traded by doing a nested wildcard search

![event-deep-filter](https://user-images.githubusercontent.com/3319450/216810644-dea5d9b6-3a8c-4936-afaf-efae03fb1fe5.gif)

![image](https://user-images.githubusercontent.com/3319450/229334536-f035ccd4-45ae-48e0-b5f7-e5b57a7b80e0.png)

### [Spire Admin] Player Event Log Settings

Once again you're able to edit your player event log settings within spire admin and changes are real-time reloaded in game without having to issue commands!

![image](https://user-images.githubusercontent.com/3319450/229334708-ab18f1d2-d9bb-49c8-8689-747bce0c2453.png)

### [Spire Admin] Server Update

Spire admin now has a rich interface where you can download new server releases, or build your own (Linux only)

![image](https://user-images.githubusercontent.com/3319450/229334953-b945783c-9e6a-4356-90d8-3a53d0dc7f21.png)

![image](https://user-images.githubusercontent.com/3319450/229334987-c7ac5374-a4ca-436e-b52f-9d8b7edf471f.png)

![image](https://user-images.githubusercontent.com/3319450/229334994-e5ca8f0f-6f65-442d-90f2-691438792c30.png)

![image](https://user-images.githubusercontent.com/3319450/229334970-cae8036a-5d15-44ce-87f5-67bcc9fddb09.png)

### [Spire Admin] Permissions

If you'd like to limit access of other users to your server and especially sensitive areas. There are permissions that cover access to various resources within the admin section of Spire in your local installation

![image](https://user-images.githubusercontent.com/3319450/229336838-8e7a73d7-8e05-4737-a89f-1a61e0cae0e1.png)

![image](https://user-images.githubusercontent.com/3319450/229336854-19a2b2d8-8937-497f-ae47-57ba21d27e22.png)

![image](https://user-images.githubusercontent.com/3319450/229336858-d0becf18-f67f-45aa-b543-1db54685e774.png)

![image](https://user-images.githubusercontent.com/3319450/229336867-70706d23-d286-4ada-a04a-039f0a6903fe.png)

### Spire Setup

Spire when ran locally will now redirect users to a one-time initial setup where users can choose whether they want their install to be guarded by authentication or not.

This bootstraps Spire for local installations.

![image](https://user-images.githubusercontent.com/3319450/229335122-9ee573db-93e4-48b5-8c8a-b836c0bd03cf.png)

### Local Users

Spire now has the ability during initial install to be configured with local users and authentication!

![image](https://user-images.githubusercontent.com/3319450/229334852-bc03242f-fe94-41f2-9a97-3ab866cdcf90.png)

![image](https://user-images.githubusercontent.com/3319450/229334891-1fba993e-d298-4fee-9234-479c14db4e8c.png)


### Navigation Search

Want to quickly and fluidly navigate your way around Spire? There's now a kbar in Spire similar to Discord, Slack, Github etc.

Navigation search can be activated by using Ctrl + K, Ctrl + / or clicking "Search" in the navigation menu

![image](https://user-images.githubusercontent.com/3319450/229332345-76c89678-ccc5-4850-b223-39dd0af5f712.png)

### Keyboard Shortcuts

My pressing the **Control** key, you can now see a modal that will show you Spire keyboard shortcuts

![image](https://user-images.githubusercontent.com/3319450/229333312-8fd5fd05-6fa2-42bc-8fc5-27aef60b1f6f.png)

### Item Editor

* Item editor edit button now is a hyperlink that can be opened in a new tab https://github.com/Akkadius/spire/issues/106
* Item editor clone button now is a hyperlink that can be opened in a new tab https://github.com/Akkadius/spire/issues/106
* Item editor now can deeply link to tabs
* Added "Food" tab with proper item display values in item card preview https://github.com/Akkadius/spire/issues/100
* Added proper "zero value" for skillmodtype and extradmgskill (Thanks Kinglykrab)

### Spell Editor

* Add "Corruption" to resist types https://github.com/Akkadius/spire/issues/92
* Spell editor now can deeply link to tabs
* Have DB String buttons open a new tab to prevent loss of progress in editor https://github.com/Akkadius/spire/issues/95

### Merchant Editor

* Fix an issue with new merchantlist entries creating a max_status of 0 preventing new merchant items from being displayed https://github.com/Akkadius/spire/issues/107

### NPC / Bot Spells Editor

* Fix an issue where editing a spell results in a number type error https://github.com/Akkadius/spire/issues/83

### Quest API Explorer

* Fix an issue with copy to clipboard for multiple events being displayed in search https://github.com/Akkadius/spire/issues/104
* Added user preference default language https://github.com/Akkadius/spire/issues/98

### Fixes

* Fixed [Bug] Merchant Editor creates new merchant list entries with max status of 0 https://github.com/Akkadius/spire/issues/107

## [2.6.1]

### Item Editor
Expand Down
4 changes: 4 additions & 0 deletions boot/app.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import (
"github.com/Akkadius/spire/internal/database"
"github.com/Akkadius/spire/internal/desktop"
"github.com/Akkadius/spire/internal/http/routes"
"github.com/Akkadius/spire/internal/spire"
gocache "github.com/patrickmn/go-cache"
"github.com/sirupsen/logrus"
"github.com/spf13/cobra"
Expand All @@ -22,6 +23,7 @@ type App struct {
db *database.DatabaseResolver
router *routes.Router
desktop *desktop.WebBoot
onboarding *spire.Init
}

func (a App) Cache() *gocache.Cache {
Expand Down Expand Up @@ -50,6 +52,7 @@ func NewApplication(
dbConnections *database.Connections,
router *routes.Router,
desktop *desktop.WebBoot,
onboarding *spire.Init,
) App {
return App{
context: context.Background(),
Expand All @@ -61,5 +64,6 @@ func NewApplication(
dbConnections: dbConnections,
router: router,
desktop: desktop,
onboarding: onboarding,
}
}
9 changes: 9 additions & 0 deletions boot/inject_commands.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ import (
// command set
var commandSet = wire.NewSet(
cmd.NewHelloWorldCommand,
cmd.NewAdminPingOcculus,
cmd.NewUserCreateCommand,
cmd.NewGenerateModelsCommand,
cmd.NewGenerateControllersCommand,
cmd.NewHttpServeCommand,
Expand All @@ -20,13 +22,16 @@ var commandSet = wire.NewSet(
cmd.NewSpireMigrateCommand,
cmd.NewQuestExampleTestCommand,
cmd.NewGenerateRaceModelMapsCommand,
cmd.NewTestFilesystemCommand,
eqemuchangelog.NewChangelogCommand,
ProvideCommands,
)

// commands provider
func ProvideCommands(
helloWorldCommand *cmd.HelloWorldCommand,
adminPingOcculus *cmd.AdminPingOcculus,
userCreateCommand *cmd.UserCreateCommand,
generateModelsCommand *cmd.GenerateModelsCommand,
generateControllersCommand *cmd.GenerateControllersCommand,
httpServeCommand *cmd.HttpServeCommand,
Expand All @@ -37,9 +42,12 @@ func ProvideCommands(
questExampleTestCommand *cmd.QuestExampleTestCommand,
generateRaceModelMapsCommand *cmd.GenerateRaceModelMapsCommand,
changelogCmd *eqemuchangelog.ChangelogCommand,
testFilesystemCmd *cmd.TestFilesystemCommand,
) []*cobra.Command {
return []*cobra.Command{
adminPingOcculus.Command(),
helloWorldCommand.Command(),
userCreateCommand.Command(),
generateModelsCommand.Command(),
generateControllersCommand.Command(),
httpServeCommand.Command(),
Expand All @@ -50,5 +58,6 @@ func ProvideCommands(
questExampleTestCommand.Command(),
generateRaceModelMapsCommand.Command(),
changelogCmd.Command(),
testFilesystemCmd.Command(),
}
}
Loading