Commit Graph

29 Commits

Author SHA1 Message Date
Dane Everitt
c0523df696 Add a server context that gets canceled when a server is deleted 2020-12-25 11:21:09 -08:00
Dane Everitt
59a111de39 Invite our lord and savior emperror back to the table 2020-12-15 21:56:53 -08:00
Matthew Penner
de51fd1c51 Error handling improvements (#71)
* Remove `emperror.dev/errors`, remove all `errors#Wrap` and `errors#WithStack` calls
* Improve logging in `server/backup.go`
2020-11-28 16:57:10 -07:00
Dane Everitt
be9d1a3986 Replace error handling package with emperror; add better reporting for errors escaping server root 2020-11-08 13:52:20 -08:00
Dane Everitt
944d381778 Improve server state logical handling; allow setting state directly on the environment 2020-11-06 21:53:00 -08:00
Dane Everitt
ca3becfb55 Correctly handle server responses and instantiation 2020-10-31 11:13:40 -07:00
Dane Everitt
41a67933eb Use a paginated loop to fetch servers from the Panel rather than a single massive request 2020-10-31 11:05:53 -07:00
Dane Everitt
334b3e8d10 Refactor HTTP endpoints to be less complicated and follow better standards 2020-10-31 10:04:20 -07:00
Dane Everitt
947279a07c Don't abort entire boot process due to one bad server egg; closes pterodactyl/panel#2448 2020-10-17 12:06:47 -07:00
Dane Everitt
0f7bb1a371 Refactor filesystem to not be dependent on a server struct 2020-09-27 12:24:08 -07:00
Dane Everitt
6ba1b75696 Add console throttling; closes pterodactyl/panel#2214 (#60) 2020-09-17 20:13:04 -07:00
Dane Everitt
0295603943 Speed up wings boot when restoring from cleared docker environment
Doesn't pull images for any server that is not supposed to be running at boot time
2020-09-12 22:08:50 -07:00
Dane Everitt
b2eebcaf6d Fix deadlocks in event listener system; closes pterodactyl/panel#2298
Fixes deadlocks that occurred when events were registered while other events were being unsubscribed and data was being flooded to these listeners. A complete mess, I hate this code, it is going to break again, but jesus I'm so tired.
2020-09-11 23:01:54 -07:00
Dane Everitt
0cd8dc2b5f avoid deadlocks while processing tons of data over server event listeners; closes pterodactyl/panel#2298 2020-09-10 20:05:01 -07:00
CyberKitsune
d742acf308 Minimize blocking in Filesystem.getCachedDiskUsage (#53) 2020-08-31 20:27:41 -07:00
Dane Everitt
7d8710824c Fix startup variables not being properly updated on server reboot; closes pterodactyl/panel#2255 2020-08-27 21:08:33 -07:00
Dane Everitt
711ee2258c Minimize code duplication for environment variables; ref pterodactyl/panel#2255 2020-08-27 20:28:29 -07:00
Dane Everitt
09826fc7ad Performance improvements by using a smaller buffer size 2020-08-23 17:18:40 -07:00
Dane Everitt
c73a53dbe3 Replace cache with single int64 2020-08-22 22:50:49 -07:00
Dane Everitt
43d8bd656a Don't actually try to start a server that is already running 2020-08-19 19:20:46 -07:00
Dane Everitt
9d2321f357 Correctly set the server state on install; closes pterodactyl/panel#2236 2020-08-19 19:08:15 -07:00
Dane Everitt
cc52954a2a Refactor environment handling logic to separate a server from the environment handler itself
This change makes the environment handling logic execute independent of the server itself and should make it much easier for people to contribute changes and additional environment handlers down the road without polluting the server object even more.

There is still a lot of work to do on this front to make things easier to work with, and there are some questionable design decisions at play I'm sure.

Welcome to additional modifications and cleanup to make this code easier to reason about and work with.
2020-08-10 21:38:42 -07:00
Matthew Penner
ff7f92895c Fix race condition on startup 2020-08-05 21:13:01 -06:00
Dane Everitt
03ef52c0db More use of workerpools for loading servers from the API 2020-07-31 21:40:43 -07:00
Matthew Penner
afa6fb200e Force disk usage calculation when loading servers 2020-07-31 17:01:02 -06:00
Dane Everitt
5079c67aee Code cleanup and avoid server race 2020-07-19 17:50:39 -07:00
Dane Everitt
21e58b57a1 Whoops, sync correctly 2020-07-19 17:26:53 -07:00
Dane Everitt
16467fa7ff Code cleanup 2020-07-19 17:09:38 -07:00
Dane Everitt
0cbaad5c72 Completely re-work the server configuration to be separated out better 2020-07-19 16:27:55 -07:00