Jakob Schrettenbrunner
8192244fec
replace servers.servers singleton with server.Manager
2021-01-10 02:37:02 +01:00
Jakob Schrettenbrunner
648072436f
organize imports with gopls format
2021-01-10 01:22:39 +00:00
Matthew Penner
a4c8b8714b
Bump all dependencies
2020-12-27 11:49:08 -07:00
Dane Everitt
59c30c2842
Fix use of atomics in codebase
2020-12-25 17:04:18 -08:00
Matthew Penner
5c78cb9ab3
Add transfer logging output ( #77 )
...
Co-authored-by: Dane Everitt <dane@daneeveritt.com>
2020-12-25 13:32:41 -08:00
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
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
80387bc294
Use more easily configurable timezone, remove /etc/timezone mounts from containers; closes pterodactyl/panel#2513
...
If this does not completely solve the issue in containers then we need to evaluate the image being used to determine what changes need to happen to the image itself to support the timezone.
ref pterodactyl/panel#2239
ref pterodactyl/panel#2329
ref pterodactyl/panel#2389
2020-10-17 11:35:20 -07:00
Dane Everitt
37e59e6928
Close connected sockets when a server is deleted; closes pterodactyl/panel#2428
2020-10-03 20:46:29 -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
783832fc71
Set the docker image correctly when a server is updated; closes pterodactyl/panel#2356
2020-09-17 20:20:39 -07:00
Dane Everitt
6ba1b75696
Add console throttling; closes pterodactyl/panel#2214 ( #60 )
2020-09-17 20:13:04 -07:00
Dane Everitt
001bbfad1b
avoid panic from environment; ref pterodactyl/panel#2307
2020-09-07 15:37:35 -07:00
Dane Everitt
5bead443ad
Handle port bindings correctly when using 127.0.0.1
...
closes pterodactyl/panel#2307
2020-09-07 15:33:47 -07:00
Matthew Penner
a81146d730
Potential fix for console becoming unresponsive ( #55 )
...
* Potentially fix console logs not being pulled after a server has been running for a while
* Add container_id to resource polling debug logs
2020-09-07 13:04:56 -07:00
Matthew Penner
7ba32aca84
Fix some typos and run gofmt on all .go files
2020-09-05 13:08:40 -06: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
c73a53dbe3
Replace cache with single int64
2020-08-22 22:50:49 -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
Dane Everitt
177aa8e436
Refactor power handling logic to be more robust and able to handle spam clicking and duplicate power actions
2020-08-01 15:20:39 -07:00
Matthew Penner
afa6fb200e
Force disk usage calculation when loading servers
2020-07-31 17:01:02 -06:00
Dane Everitt
373dbd355e
Better handling of subscribers to avoid a slice panic
2020-07-29 21:56:22 -07:00
Dane Everitt
cb850fd81a
Update all of the old UUID refs to new
2020-07-19 17:53:41 -07:00
Dane Everitt
e28c05ae56
Address some race conditions
2020-07-19 17:46:39 -07:00
Dane Everitt
0cbaad5c72
Completely re-work the server configuration to be separated out better
2020-07-19 16:27:55 -07:00
Dane Everitt
a00288aa64
Require a lock on the restart process to avoid double restarts causing unexpected behavior
2020-07-18 16:46:41 -07:00
Dane Everitt
8315ff8ae1
Misc mutex locking things to avoid data races
2020-07-18 16:03:25 -07:00
Matthew Penner
63e7bde39c
Merge branch 'develop' into feature/server-mounts
2020-07-04 15:17:59 -06:00
Dane Everitt
65809b5731
Don't crash when passing in an environment variable that isn't a string value
2020-07-02 20:32:17 -07:00
Dane Everitt
1f6789cba3
Acquire exclusive lock when installing a server
...
Also allows aborting a server install mid-process when the server is deleted before the process finishes.
2020-06-22 21:38:16 -07:00
Dane Everitt
a3d83d23bd
Don't try to send space available when loading from a configuration
...
Server is not always installed when this function is called, this will cause errors in those cases.
2020-06-22 20:52:23 -07:00
Dane Everitt
62e5547c6d
Merge pull request #32 from pterodactyl/issue/1796
...
Send disk usage when server is offline
2020-05-31 10:54:21 -07:00
Dane Everitt
f8bffd8391
Start the process of migrating from zap to a cleaner CLI output for logs
2020-05-28 22:07:53 -07:00
Matthew Penner
74097cc4ad
Fix sending status event to all subscribers, send disk usage when server is offline
2020-05-22 11:01:27 -06:00
Matthew Penner
662eb17241
Pass server mounts into docker
2020-05-21 14:53:00 -06:00
Dane Everitt
ffd7357a1c
Calculate memory swap using the same memory overhead values as the hard cap; pterodactyl/panel#2000
2020-05-08 20:57:00 -07:00
Dane Everitt
4279fa510e
Cleanup data storage locations for daemon
2020-04-17 14:27:06 -07:00
Dane Everitt
03045c94be
Better race condition prevention
2020-04-10 18:22:18 -07:00
Dane Everitt
17d204a631
Little bit of code refactoring
2020-04-10 18:07:57 -07:00
Dane Everitt
af241f3de4
Code cleanup
2020-04-10 18:03:35 -07:00
Matthew Penner
1f4aca8210
Fix issue with config file saving, fix issue with state file saving, fix issue when merging a uuid into a server without one
2020-04-10 17:55:36 -06:00
Matthew Penner
1e12b7b37c
Remove server configurations files and add shared state file
2020-04-10 16:33:30 -06:00
Matthew Penner
28c8f3f400
Add the ability to fetch all servers, fix cpu usage leak again..
2020-04-10 15:39:07 -06:00
Matthew Penner
e719c67e0b
Removes SyncServersOnBoot configuration option and requires that servers are synced when the daemon boots
2020-04-10 12:16:04 -06:00
Matthew Penner
9e30d63818
Add debug logs when a non-500 error occurs, force sync the configuration during installation of a new server
2020-04-10 12:00:04 -06:00