From d38d79e9b7de14f837b02b850cbd86a5c03cfc1b Mon Sep 17 00:00:00 2001 From: Bryson Steck Date: Sun, 21 May 2023 00:00:15 -0600 Subject: update readme, windows still borked --- README.md | 34 ++++++++++++++++++++-- .../ServerCraft/controllers/PrimaryController.kt | 15 ++++++++-- .../xyz/brysonsteck/ServerCraft/info.fxml | 16 ++++++---- 3 files changed, 53 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 8f24bce..207e8d6 100644 --- a/README.md +++ b/README.md @@ -4,14 +4,42 @@ Is the `server.properties` file too overwhelming? Here is a graphical applicatio ## About -ServerCraft is designed for the layman who has knowledge of Minecraft but has no idea how to create a simple server. +ServerCraft is designed for the layman who has knowledge of Minecraft but has no idea how to create a simple server. It provides a simple interface for running a Minecraft server and managing it's settings, all automated with simple clicks. ## Features * Utilizes the Spigot Minecraft server for performance and extensibility -* Automatically downloads the correct Java version, no more confusing errors when trying to run the server +* Automatically downloads the correct Java version, no more confusing errors when trying to run a server * Common settings available at a glance * Separate section for common settings that are a little more advanced, such as: * The amount of RAM to allocate to the server * Render and simulation distances - * + * Enabling command blocks + +## Screenshots + +provide screenshots + +## Building and Running + +Pre-compiled binaries are available to download [here](https://codeberg.org/brysonsteck/ServerCraft/releases). Simply download the correct file for your OS. (`.exe` or `.msi` for Windows, `.dmg` or `.pkg` for macOS, etc.) + +ServerCraft uses Gradle as the build system of choice. At the very least, you will need to install at least Java 11. ServerCraft is built on OpenJFX, of which requires Java 11 or later. The binaries I offer on the [releases page](https://codeberg.org/brysonsteck/ServerCraft/releases) are bundled with Java 17 and do not require installing Java to run. + +However, installing Gradle is not necessary. You can replace `gradle` in the following instructions with `./gradlew` on Unix systems and `.\gradlew.bat` on Windows systems, as long as your current directory is the root of the repository. These scripts download and run a Gradle jar file. + +To build ServerCraft from source, creating a fat jar, Java class files, etc., run: +``` +gradle build +``` + +To run ServerCraft from source, run: +``` +gradle run +``` + +To compile binaries for the current system, run: +``` +gradle pack +``` +**NOTE**: Building binaries on Windows requires the WiX toolset and Inno Setup to be installed and on the PATH. See this JavaPackager [GitHub page](https://github.com/fvarrui/JavaPackager/blob/master/docs/windows-tools-guide.md) for installation instructions. \ No newline at end of file diff --git a/src/main/kotlin/xyz/brysonsteck/ServerCraft/controllers/PrimaryController.kt b/src/main/kotlin/xyz/brysonsteck/ServerCraft/controllers/PrimaryController.kt index 5b26481..75ebbbd 100644 --- a/src/main/kotlin/xyz/brysonsteck/ServerCraft/controllers/PrimaryController.kt +++ b/src/main/kotlin/xyz/brysonsteck/ServerCraft/controllers/PrimaryController.kt @@ -494,23 +494,32 @@ class PrimaryController { builder.directory(File(directory + "ServerCraft" + File.separator + "Spigot")) val proc = builder.start() val reader = InputStreamReader(proc.inputStream) + val errors = InputStreamReader(proc.errorStream) val br = BufferedReader(reader) + val ebr = BufferedReader(errors) try { var line = br.readLine() + var errorLine = ebr.readline() var currentline = 0.0 - while (line != null) { + while (line != null || errorLine != null) { if (!building) { proc.destroy() } - withContext(Dispatchers.JavaFx) {log(line)} + withContext(Dispatchers.JavaFx) { + if (errorLine != null) { + log(errorLine) + } + log(line) + } line = br.readLine() + errorLine = ebr.readline() currentline++ if (currentline > 15) { withContext(Dispatchers.JavaFx) {progressBar.progress = if (spigotBuilt) {currentline/1100.0} else {currentline/14122.0} } } } } catch (e: IOException) { - withContext(Dispatchers.JavaFx) {log("Stream Closed")} + withContext(Dispatchers.JavaFx) {log("Stream Closed: ${e.toString()}")} } } diff --git a/src/main/resources/xyz/brysonsteck/ServerCraft/info.fxml b/src/main/resources/xyz/brysonsteck/ServerCraft/info.fxml index f0b73f3..a4d561a 100644 --- a/src/main/resources/xyz/brysonsteck/ServerCraft/info.fxml +++ b/src/main/resources/xyz/brysonsteck/ServerCraft/info.fxml @@ -36,20 +36,24 @@ -