Commit Graph

619 Commits

Author SHA1 Message Date
Silversthorn
150e8e5794 Renaming Server in shared to ServerInstance 2022-05-30 22:40:34 +02:00
Silversthorn
8f5c688b72 Fixing Pylint issues 2022-05-30 19:28:39 +02:00
luukas
290c398198
Add command queue stdin commands back 2022-05-30 18:23:37 +03:00
Silversthorn
37bda32164 Fixing moved functions calls 2022-05-30 07:36:25 +02:00
luukas
7885b2c8f7
Fix null writer 2022-05-28 21:11:09 +03:00
luukas
0df5fedf2b
Add try-excepts for host stats 2022-05-28 19:32:54 +03:00
luukas
d1beb2f125
Redirect stderr to null during psutil's import.
On some systems /proc might be unavailable and psutil would freak out
printing several exceptions to stderr but strangely not raising the
exceptions for upper scope to handle
2022-05-28 19:00:25 +03:00
Silversthorn
3b4253de9b Fixing get_authorized_server 2022-05-26 23:19:59 +02:00
Silversthorn
99b28efd33 Merge branch 'dev' into dev-StatsDBImprovement 2022-05-26 15:39:52 +02:00
Silversthorn
be1930c7c7 fixing server shutdown gracefull exit 2022-05-26 15:28:54 +02:00
Silversthorn
2b484d5a07 fixing download jar 2022-05-26 15:20:21 +02:00
Silversthorn
056856cf98 Fixing Helpers issue 2022-05-26 15:02:47 +02:00
Silversthorn
8423cc24c1 I'm breaking/fixing stuff 2022-05-26 14:50:20 +02:00
Andrew
b0b9936df7 Merge branch 'bugfix/stats-db-select' into 'dev'
Get rid of the stats database proxy

See merge request crafty-controller/crafty-4!276
2022-05-25 18:29:23 +00:00
Andrew
b293164e12 Add crash detection to realtime stats 2022-05-25 14:26:13 -04:00
luukas
3956d9c699
Remove stdin sending from command_watcher
Reasons:
* It's unused in our program
* It can be a start to security vulnerabilities.
  I've seen many routes add commands to `Commands` without validation.
2022-05-25 17:44:09 +03:00
Silversthorn
5a1353373a trying something new 2022-05-25 15:54:35 +02:00
luukas
ca450f21ed
Document set_passwd and threads prompt commands
Help messages:
set_passwd: Set a user's password. Example: set_passwd admin
threads: Get all of the Python threads used by Crafty
2022-05-25 16:25:49 +03:00
luukas
8e13b4e11d
Simplify helpers setting methods 2022-05-25 16:21:34 +03:00
luukas
4e84eee5a5
Rename server stats variables to server_stats 2022-05-25 16:15:51 +03:00
luukas
83018c6860
Calculate the min stats date with timedelta
This is more correct than just using days.
I've also tested this working in a completely separate Peewee project.
2022-05-25 16:14:42 +03:00
luukas
a937a94ac8
Use a better variable name for stat disappear date
* Rename occurences of `last_week` with `minimum_to_exist`
2022-05-25 14:49:17 +03:00
luukas
0d62223982 Merge branch 'dev' into bugfix/api-v2-bugfixes 2022-05-23 20:20:49 +03:00
luukas
8f8b2aa22f
Simplify MainPrompt.emptyline. 2022-05-21 02:04:03 +03:00
luukas
b49bca3279
Use a tab character in the threads prompt command
https://i.imgur.com/jy0Rlgm.png
2022-05-21 01:57:40 +03:00
luukas
b724fc500d
Improve the startup process 2022-05-21 01:53:17 +03:00
luukas
eff7aefb6e
Use local date and time formatting for Console 2022-05-21 01:41:48 +03:00
luukas
02f5318f76
Merge branch 'dev' into merge/pretzel-lukas-cleanup-nosquash 2022-05-20 22:04:41 +03:00
luukas
dba3fafa87
Use shorthand for Controller.check_system_user
This reduced the code from 4 lines to 1 line.

The code
    if <condition>:
        return True
    else:
        return False
can be shortened to
    return <condition>
2022-05-20 13:31:30 +03:00
luukas
48948423c9
Fix various things in create_api_server 2022-05-20 01:33:02 +03:00
luukas
7a7c7501e6 Use relative path for latest.log 2022-05-19 17:27:36 +03:00
luukas
87085cec3c Fix an IndexError in get_lang_page 2022-05-19 01:10:06 +03:00
Andrew
b7780682d5 Merge branch 'dev' into 'merge/api-v2'
# Conflicts:
#   app/classes/controllers/crafty_perms_controller.py
2022-05-18 21:56:39 +00:00
amcmanu3
d235d0b70b Add error for no user 2022-05-18 17:37:07 -04:00
amcmanu3
49965bf31f Add explaination to password fail. 2022-05-18 17:22:39 -04:00
luukas
559a345f25 Merge branch 'dev' into merge/api-v2 2022-05-18 01:49:19 +03:00
amcmanu3
e12814d0b0 Appease the linter 2022-05-17 16:01:37 -04:00
luukas
821ed7ef5d Make get_server_obj raise an error
Reason being: There is nothing that checks if it returns False
2022-05-17 21:43:15 +03:00
luukas
42af86b6f7 Merge branch 'dev' into experimental/lukas-cleanup 2022-05-17 21:21:47 +03:00
amcmanu3
a2b711b5ac Add password reset to Crafty Console 2022-05-16 15:39:10 -04:00
luukas
e7e337bea1 Improve the start_server function 2022-05-16 18:16:04 +03:00
Andrew
7d8515321b Revert bad changes for schedules 2022-05-15 15:59:55 -05:00
Andrew
4f6a90eb6a Remove unused import 2022-05-15 14:05:23 -05:00
Andrew
490fc86d4e Cleanup server schedule on delete 2022-05-15 14:00:24 -05:00
Andrew
e161e2cf0b Add cleanup method for server stats on delete 2022-05-15 13:28:02 -05:00
Andrew
0f19c0c787 Realtime server stats all the time 2022-05-15 13:16:28 -05:00
Andrew
984f4cc4d6 Change Files Aesthetic 2022-05-15 12:38:48 -05:00
luukas
930c6936d9 Add more advanced role APIs 2022-05-10 02:08:49 +03:00
luukas
721c9cfe12 Add the server creation endpoint 2022-05-05 14:02:23 +03:00
luukas
53459d83dc Merge branch 'feature/api-v2' into merge/api-v2 2022-05-05 03:32:09 +03:00
Silversthorn
16bbac7fd6 Moving Server Stats DB to Server Folder 2022-04-28 22:40:15 +02:00
Andrew
77bbde149a Fix fresh install side effects from DB rework 2022-04-17 13:27:00 -04:00
Andrew
fc1304d729 Fix file size bug when destination does not exist 2022-04-17 13:00:05 -04:00
Andrew
704ffc2742 Fix file unzip 2022-04-14 20:03:19 -04:00
luukas
1aa0d65cf7 Merge branch feature/external-frontend to feature/api-v2 without the frontend 2022-04-14 15:33:53 +03:00
Zedifus
92c8fc04f3 Refactor to standardize class/variable naming 2022-04-14 03:10:25 +01:00
Andrew
ed60e55ffe Add try catch around process kill 2022-04-12 21:52:53 -04:00
Andrew
64d2e5fedd Appease the linter 2022-04-12 19:54:35 -04:00
Andrew
e555274409 Add critical log message for None Backup path 2022-04-12 19:27:18 -04:00
Andrew
73b3571606 Appease the linter 2022-04-12 19:22:57 -04:00
Andrew
316d0aa17a Fix error thrown on task execution 2022-04-12 18:57:18 -04:00
Andrew
705da450e7 Fix bug where roles could not be deleted. 2022-04-12 17:58:59 -04:00
Andrew
ec6421b62c Disable Backups when no path 2022-04-12 17:37:20 -04:00
computergeek125
d417950eae fix fstrings, refactored console to static 2022-04-11 20:34:46 -05:00
Zedifus
19f2429a4c Fix formatting to comply with Black 2022-04-11 11:08:36 +01:00
computergeek125
42ca4bb973 Refactored the yes to not pass objects in import
Merge Conflicts ᴙ Us
2022-04-11 00:23:55 -05:00
computergeek125
119c34535c Removed fn, reduced queries in login flow 2022-04-10 17:46:07 -05:00
amcmanu3
711d415335 Remove queue 2022-04-10 18:04:16 -04:00
Andrew
b1ed9ba2bd Add API routes from 3.x
Enhance security for permissions on API requests
Fix bug where server permissions and crafty permissions were flipped upon making a new token
Fix bug where new secret key would be created every time Crafty was started.
Fix bug where DB locks will occur with concurrent writes to the DB.
2022-04-10 19:39:31 +00:00
Zedifus
db70f9ae20 Fix W0221 emptyline override
Package advises override, see !233 for doc reference.
2022-04-02 02:49:48 +01:00
Andrew
822a3707b2 Add sleep to realtime - Reduce CPU load. 2022-03-26 19:10:04 -04:00
Zedifus
09bba7fdb0 Further fix files to conform with Black pylintrc
Mostly just breaking up strings and comments into new lines
Some strings dont require 'f' but keeping in for readability
with the rest of the concatinated string
2022-03-23 06:16:22 +00:00
Zedifus
2a512d7273 Fix files to conform with new Black pylintrc
Mostly just breaking up strings and comments into new lines
Some strings dont require 'f' but keeping in for readability
with the rest of the concatinated string
2022-03-23 06:06:13 +00:00
Zedifus
e06fe8a52a Black codebase
Apply black formatting to codebase
2022-03-23 02:50:12 +00:00
xithical
4177ca882c Put encoding arg in its proper location for maximum linter appeasal 2022-03-20 12:19:11 -05:00
xithical
1279784cc7 Appease the linter again 2022-03-20 12:14:51 -05:00
xithical
bf6d0d0368 Appease the linter 2022-03-20 12:01:14 -05:00
xithical
cda7b59a12 Fix how memory args are passed in importing from 3 2022-03-18 23:06:04 -05:00
_iEpic
4af62cbaca Added basic Import functions 2022-03-18 23:59:10 -04:00
xithical
4c14b58a2a Add user importing from 3 - servers to be added 2022-03-18 21:55:39 -05:00
Iain Powrie
ccd0bc8e8f Merge branch 'dev-BetterCertsGeneration' into 'dev'
Adding Subject Alt Names in certificate

See merge request crafty-controller/crafty-commander!209
2022-03-16 09:49:17 +00:00
Zedifus
a6e99347af Format the cert gen helper
Use black to format this function and appease lint.

We should really use black on the full project
2022-03-15 18:47:49 +00:00
Silversthorn
83c692beb5 pylint happy !! 2022-03-15 19:17:20 +01:00
Silversthorn
2f89c3a93d It was a comma !!! 2022-03-15 18:12:56 +00:00
Silversthorn
7e6d34de0f 2nd Try 2022-03-15 07:43:36 +00:00
Silversthorn
466d71db36 Try to be cool with pylint (resolving Major issue ?) 2022-03-15 07:32:08 +00:00
amcmanu3
0f27b2df91 Fix error where user could not create server
Fix error where user could not create support files
2022-03-14 17:39:19 -04:00
Silversthorn
62244637bb Adding Subject Alt Names in certificate 2022-03-14 20:30:24 +01:00
Andrew
d4a1efba78 Appease the linter 2022-03-13 09:26:38 -04:00
Andrew
3a8174cc22 Add status bar for support log archive 2022-03-13 08:29:26 -04:00
Andrew
6e4435c86f Add Full support for backup status 2022-03-13 06:36:44 -04:00
Andrew
33cad6afa8 Add percentage to backups page
Helper designed to be used for support logs as well.
2022-03-11 00:19:05 -05:00
Andrew
319e06cd10 Add backend percentage to backups 2022-03-09 23:45:49 -05:00
Zedifus
affcc14245 Fix circular imports
I'm a silly
2022-03-08 05:44:26 +00:00
Zedifus
b306d1f313 Tidy imports & dep auto-installer 2022-03-08 04:40:44 +00:00
Andrew
eda9f44b5f Merge branch 'bug/backups-restore/download' into 'dev'
Bug/backups restore/download

See merge request crafty-controller/crafty-commander!197
2022-03-08 02:56:52 +00:00
amcmanu3
abdefc3e43 Ensure stats schedule is removed on server start 2022-03-07 21:48:06 -05:00
amcmanu3
9520858c22 Fix backup restore 2022-03-07 21:36:23 -05:00
Iain Powrie
9c99346bbe 3.5 Translations (Squashed)
Thank you translators <3 you're all amazing!
2022-03-08 01:22:30 +00:00
Silversthorn
506129729e Update Translation
- Adding Translation for Credits Page
 - Adding detection support for webpage
2022-03-05 12:01:36 +01:00
Andrew
ff3da27333 Merge branch 'bug/host-stats' into 'dev'
Fix task update polling

See merge request crafty-controller/crafty-commander!187
2022-03-05 01:56:19 +00:00
Andrew
1bf40ffda9 Fix task update polling
Fix task update polling after a change while linting broke it :/
2022-03-04 20:41:27 -05:00
Andrew
55852de3d9 Fix cursor showing as text highlight not hand 2022-03-04 17:58:18 -05:00
Silversthorn
843c16bbd7 Fixing icon bug 2022-03-04 21:09:13 +01:00
amcmanu3
d5c623b928 Merge branch 'dev' into dev-RefreshStats_Threading 2022-03-03 19:57:06 -05:00
amcmanu3
dfa9ab40ca Appease the linter 2022-03-03 19:47:49 -05:00
amcmanu3
ab7889914f Bug fixes to ensure player stats display correctly
Add sync indicator to dashboard
2022-03-03 19:41:30 -05:00
Andrew
d73316119b Add server download status indicator 2022-03-04 00:36:36 +00:00
Silversthorn
cb1679806e Seperate refresh statistics for each server
Fixing Broken Things
2022-03-03 23:13:40 +01:00
Silversthorn
d016e0a59a Broke Things 2022-03-03 22:01:12 +01:00
Andrew
6bc5e5b51f Merge branch 'dev' of https://gitlab.com/crafty-controller/crafty-commander into dev 2022-03-02 18:35:58 -05:00
Andrew
761653ac25 Increase realtime stats frequency 2022-03-02 18:35:53 -05:00
Iain Powrie
8da2bcae17 Merge branch 'devops/userns-rootless-container' into 'dev'
Convert container to run as non-root

See merge request crafty-controller/crafty-commander!172
2022-03-02 19:47:41 +00:00
Andrew
6cf778f068 appease the linter 2022-03-02 13:07:00 -05:00
Andrew
61ac97c02e Add unexecuted clear. Add option to compress backups 2022-03-02 12:55:49 -05:00
Zedifus
69e85faa1a Merge branch 'dev' into devops/userns-rootless-container
[RESOLVED CONFLICTS]
2022-03-02 16:58:48 +00:00
Andrew
e0b8fb35fe Add option to compress backups 2022-03-02 11:34:26 -05:00
Zedifus
8f0ac0d025 Fix permissions setting on bedrock imports
This is not an issue on java as we dont need the execute perm on .jar's
Requires to be prefix'd octal intager for mask not decimal
2022-03-02 16:22:53 +00:00
Andrew
826d4d081f Improve session.lock checking. 2022-03-02 09:48:03 -05:00
amcmanu3
e99f06ba9f remove print statement 2022-03-01 19:57:02 -05:00
Andrew
00db762c51 Add check in server import so we don't stack if jar doesn't exist. 2022-03-01 19:29:08 -05:00
Andrew
c8c1f301c0 Fix server importing for bedrock that's not a zip 2022-03-01 18:31:38 -05:00
Andrew
5d6ada23a4 Fix visual file loading order. Fix zip imports where directories were not being copied 2022-03-01 16:54:06 -05:00
Andrew
d760fcb010 Appease the linter 2022-03-01 01:14:26 -05:00
Andrew
11278ebe5f Added translation for backup start/end messages. Finalize bedrock support. Removed confusion so server stats won't be shown if server isn't running. 2022-03-01 00:33:09 -05:00
Andrew
3c48364998 BEDROCK SUPPORT. Ping works. Add notification for backups starting and completing. 2022-02-28 22:40:11 -05:00
xithical
c4f706d415 Rework of files handling and added exclusions selection for backups. 2022-03-01 01:02:30 +00:00
xithical
26014d0e86 Revert "Merge branch 'xithical-fixes' into 'dev'"
This reverts merge request !173
2022-02-28 04:40:33 +00:00
xithical
7f98e39503 Appease the linter 2022-02-27 21:25:00 -06:00
xithical
5758d64e96 Merge branch 'dev' into 'xithical-fixes'
# Conflicts:
#   app/classes/web/ajax_handler.py
#   app/frontend/templates/panel/server_backup.html
2022-02-28 03:04:23 +00:00
Andrew
3621672e81 appease the linter 2022-02-27 22:03:19 -05:00
Andrew
008b7f4ade Run file tree serving thorugh ajax handler alone 2022-02-27 19:29:30 -05:00
Andrew
4bcb91d1d5 Add mostly functional front-end for backup exclusions 2022-02-27 16:37:48 -05:00
Andrew
e7d78cadd4 Initial frontend for backup omissions 2022-02-27 16:15:40 -05:00
xithical
4b484782c6 Fix excluded directories not being separatable
Excluded directories were being pulled from the database as not a string, so I just used the get_backup_config() method to pull exclusions as a string so I could split it
2022-02-27 13:38:16 -06:00
xithical
cf5bfe88c1 Better documentation for backup logic 2022-02-27 13:21:54 -06:00
xithical
eaca8acf72 Clean up backup server method for readability 2022-02-27 13:17:14 -06:00
xithical
7c5bb0984c Add logic for removing excluded files/dirs from backups
Updated backup thread to copy all server files to a temporary directory, iterate through excluded directory list, remove excluded directories/files, then create the backup archive
2022-02-27 13:11:22 -06:00
Andrew
dfed1cbedc Add check to make sure server file is downloaded before attempting to start 2022-02-27 12:22:52 -05:00
Andrew
6b5f4bcc21 Remove outdated exit code 2022-02-26 22:14:19 -05:00
Andrew
211214a38a Work around for servers not shutting down on crafty shutdown 2022-02-26 22:09:59 -05:00
Andrew
1ab4ffd8f7 Add execution command for bedrock server jar 2022-02-26 12:42:01 -05:00
Andrew
59ea0a326d Add a / for execution 2022-02-26 12:35:23 -05:00
Andrew
879197a3e9 Fix typo in server.py 2022-02-26 12:31:55 -05:00
Andrew
18e2ac8328 Change zip import execution string to the correct one
Fix front end for bedrock imports
Add server type to details
2022-02-26 12:29:07 -05:00
Andrew
c625781da8 Fix typo in main_controller 2022-02-26 12:14:41 -05:00
Andrew
f3d5f4f454 Fix Bedrock for linux 2022-02-26 12:12:02 -05:00
Andrew
733b5c9a2c Add the right env variable for bedrock on linux 2022-02-26 11:59:19 -05:00
Andrew
92f9bceaf9 Revert to original popen scheme 2022-02-26 11:51:28 -05:00
Andrew
b6b8a1c14a Add env parameter to popen 2022-02-26 11:29:36 -05:00