Process manager for game servers or services.
Installation • Commands • Why? • Should I use cres- • Todo • License
Warning WIP!
My main focus is Linux, crescent is built and tested on ubuntu x86_64, aarch64, armv7 and arm. MacOs is not tested. Windows is not supported.
You can either get artifacts from recent workflows or install using cargo:
bash
cargo install crescent-cli
or
bash
cargo install --git https://github.com/Kyagara/crescent
With start you can launch an application by passing the file path to your executable, optionally give it a custom name with -n (defaults to the file name), you can pass an interpreter with -i, for example, if you have a python project you can pass -i python3. Arguments can be added using -a.
If you provide a
javainterpreter it will add a-jarargument automatically.
If your arguments have spaces or
-make sure to use quotes after-alike:-a "-Xms10G -Xmx10G".
list the running applications.
log an application's .log file, you can specify the amount of lines with -l (defaults to 200). After printing the log, it will watch the file for any new lines added to it.
send a command to the provided application.
attach to an application, which let's you watch logs in realtime and send commands.
kill (SIGKILL), stop (SIGTERM) or signal <int> to send a signal to an application.
status prints information about an application.
Log, PID and the application's socket are located in
/home/<user>/.crescent/apps/<app>.
I wanted to learn some Rust so I decided to create a tool similar to PM2 and mark2, these two tools saved me from a lot of headache when spinning up background services for apps and in the case of mark2, Minecraft servers.
Not for anything in production, game servers for friends for example shouldn't be a problem. crescent does not currently support auto restarts in case of a crash or something equivalent to pm2 save to start apps on system startup.
notify crate, it could use the application socket to receive new lines insteadThis project is licensed under the MIT license.