mirror of
https://gitlab.com/crafty-controller/crafty-4.git
synced 2024-08-30 18:23:09 +00:00
Merge branch 'dev' into critical/API-token-auth-issues
This commit is contained in:
commit
376a6b3a1e
@ -21,7 +21,7 @@ win-dev-build:
|
||||
- pyinstaller -F main.py
|
||||
--distpath .
|
||||
--icon app\frontend\static\assets\images\Crafty_4-0_Logo_square.ico
|
||||
--name "crafty_commander"
|
||||
--name "crafty"
|
||||
--paths .venv\Lib\site-packages
|
||||
--hidden-import cryptography
|
||||
--hidden-import cffi
|
||||
@ -37,7 +37,7 @@ win-dev-build:
|
||||
name: "crafty-${CI_RUNNER_TAGS}-${CI_COMMIT_BRANCH}_${CI_COMMIT_SHORT_SHA}"
|
||||
paths:
|
||||
- app\
|
||||
- .\crafty_commander.exe
|
||||
- .\crafty.exe
|
||||
exclude:
|
||||
- app\classes\**\*
|
||||
|
||||
@ -49,7 +49,6 @@ win-prod-build:
|
||||
paths:
|
||||
- .venv/
|
||||
rules:
|
||||
- if: "$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH"
|
||||
- if: $CI_COMMIT_TAG
|
||||
environment:
|
||||
name: production
|
||||
@ -63,7 +62,7 @@ win-prod-build:
|
||||
- pyinstaller -F main.py
|
||||
--distpath .
|
||||
--icon app\frontend\static\assets\images\Crafty_4-0_Logo_square.ico
|
||||
--name "crafty_commander"
|
||||
--name "crafty"
|
||||
--paths .venv\Lib\site-packages
|
||||
--hidden-import cryptography
|
||||
--hidden-import cffi
|
||||
@ -81,7 +80,7 @@ win-prod-build:
|
||||
name: "crafty-${CI_RUNNER_TAGS}-${CI_COMMIT_BRANCH}_${CI_COMMIT_SHORT_SHA}"
|
||||
paths:
|
||||
- app\
|
||||
- .\crafty_commander.exe
|
||||
- .\crafty.exe
|
||||
expire_in: never
|
||||
exclude:
|
||||
- app\classes\**\*
|
||||
|
@ -1,12 +1,12 @@
|
||||
# Changelog
|
||||
|
||||
## [4.0.3] - TBD
|
||||
## [4.0.3] - 2022/06/18
|
||||
|
||||
### New features
|
||||
TBD
|
||||
None
|
||||
|
||||
### Bug fixes
|
||||
TBD
|
||||
- Amend Java system variable fix to be more specfic since they only affect Oracle. ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/364))
|
||||
|
||||
### Tweaks
|
||||
- Add better error logging for statistic collection ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/359))
|
||||
|
@ -2,11 +2,11 @@
|
||||
|
||||
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
|
||||
[![Supported Python Versions](https://shields.io/badge/python-3.8%20%7C%203.9%20%7C%203.10%20-blue)](https://www.python.org)
|
||||
[![Version(temp-hardcoded)](https://img.shields.io/badge/release-v4.0.2--beta-orange)](https://gitlab.com/crafty-controller/crafty-4/-/releases)
|
||||
[![Version(temp-hardcoded)](https://img.shields.io/badge/release-v4.0.3--beta-orange)](https://gitlab.com/crafty-controller/crafty-4/-/releases)
|
||||
[![Code Quality(temp-hardcoded)](https://img.shields.io/badge/code%20quality-10-brightgreen)](https://gitlab.com/crafty-controller/crafty-4)
|
||||
[![Build Status](https://gitlab.com/crafty-controller/crafty-4/badges/master/pipeline.svg)](https://gitlab.com/crafty-controller/crafty-4/-/commits/master)
|
||||
|
||||
# Crafty Controller 4.0.2-beta
|
||||
# Crafty Controller 4.0.3-beta
|
||||
> Python based Control Panel for your Minecraft Server
|
||||
|
||||
## What is Crafty Controller?
|
||||
@ -39,7 +39,7 @@ With `Crafty Controller 4.0` we have focused on building our DevOps Principles,
|
||||
> __**⚠ 🔻WARNING: [WSL/WSL2 | WINDOWS 11 | DOCKER DESKTOP]🔻**__ <br>
|
||||
BE ADVISED! Upstream is currently broken for Minecraft running on **Docker under WSL/WSL2, Windows 11 / DOCKER DESKTOP!** <br>
|
||||
On '**Stop**' or '**Restart**' of the MC Server, there is a 90% chance the World's Chunks will be shredded irreparably! <br>
|
||||
Please only run Docker on Linux, If you are using Windows we have a portable installs found here: [Latest-Stable](https://gitlab.com/crafty-controller/crafty-4/-/jobs/artifacts/master/download?job=win-prod-build), [Latest-Development](https://gitlab.com/crafty-controller/crafty-4/-/jobs/artifacts/dev/download?job=win-dev-build)
|
||||
Please only run Docker on Linux, If you are using Windows we have a portable installs found here: [Latest-Stable](https://gitlab.com/crafty-controller/crafty-4/-/releases), [Latest-Development](https://gitlab.com/crafty-controller/crafty-4/-/jobs/artifacts/dev/download?job=win-dev-build)
|
||||
|
||||
----
|
||||
|
||||
|
@ -130,16 +130,19 @@ class Stats:
|
||||
}
|
||||
|
||||
@staticmethod
|
||||
def _try_get_process_stats(process):
|
||||
try:
|
||||
return Stats._get_process_stats(process)
|
||||
except Exception as e:
|
||||
logger.debug(
|
||||
f"getting process stats for pid {process.pid} "
|
||||
"failed due to the following error:",
|
||||
exc_info=e,
|
||||
)
|
||||
return {"cpu_usage": -1, "memory_usage": -1, "mem_percentage": -1}
|
||||
def _try_get_process_stats(process, running):
|
||||
if running:
|
||||
try:
|
||||
return Stats._get_process_stats(process)
|
||||
except Exception as e:
|
||||
logger.debug(
|
||||
f"getting process stats for pid {process.pid} "
|
||||
"failed due to the following error:",
|
||||
exc_info=e,
|
||||
)
|
||||
return {"cpu_usage": -1, "memory_usage": -1, "mem_percentage": -1}
|
||||
else:
|
||||
return {"cpu_usage": 0, "memory_usage": 0, "mem_percentage": 0}
|
||||
|
||||
@staticmethod
|
||||
def _get_process_stats(process):
|
||||
|
@ -239,18 +239,23 @@ class ServerInstance:
|
||||
"Detected nebulous java in start command. "
|
||||
"Replacing with full java path."
|
||||
)
|
||||
which_java_raw = self.helper.which_java()
|
||||
java_path = which_java_raw + "\\bin\\java"
|
||||
if str(which_java_raw) != str(self.helper.get_servers_root_dir) or str(
|
||||
self.helper.get_servers_root_dir
|
||||
) in str(which_java_raw):
|
||||
self.server_command[0] = java_path
|
||||
else:
|
||||
logger.critcal(
|
||||
"Possible attack detected. User attempted to exec "
|
||||
"java binary from server directory."
|
||||
# Checks for Oracle Java. Only Oracle Java's helper will cause a re-exec.
|
||||
if "/Oracle/Java/" in str(shutil.which("java")):
|
||||
logger.info(
|
||||
"Oracle Java detected. Changing start command to avoid re-exec."
|
||||
)
|
||||
return
|
||||
which_java_raw = self.helper.which_java()
|
||||
java_path = which_java_raw + "\\bin\\java"
|
||||
if str(which_java_raw) != str(self.helper.get_servers_root_dir) or str(
|
||||
self.helper.get_servers_root_dir
|
||||
) in str(which_java_raw):
|
||||
self.server_command[0] = java_path
|
||||
else:
|
||||
logger.critcal(
|
||||
"Possible attack detected. User attempted to exec "
|
||||
"java binary from server directory."
|
||||
)
|
||||
return
|
||||
self.server_path = Helpers.get_os_understandable_path(self.settings["path"])
|
||||
|
||||
# let's do some quick checking to make sure things actually exists
|
||||
@ -1250,7 +1255,7 @@ class ServerInstance:
|
||||
server_path = server["path"]
|
||||
|
||||
# process stats
|
||||
p_stats = Stats._try_get_process_stats(self.process)
|
||||
p_stats = Stats._try_get_process_stats(self.process, self.check_running())
|
||||
|
||||
# TODO: search server properties file for possible override of 127.0.0.1
|
||||
internal_ip = server["server_ip"]
|
||||
@ -1383,7 +1388,7 @@ class ServerInstance:
|
||||
server_path = server_dt["path"]
|
||||
|
||||
# process stats
|
||||
p_stats = Stats._try_get_process_stats(self.process)
|
||||
p_stats = Stats._try_get_process_stats(self.process, self.check_running())
|
||||
|
||||
# TODO: search server properties file for possible override of 127.0.0.1
|
||||
# internal_ip = server['server_ip']
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"major": 4,
|
||||
"minor": 0,
|
||||
"sub": 2,
|
||||
"sub": 3,
|
||||
"meta": "beta"
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user