From 2c1740cd1ce9d7a07ab5033d47900f298d281fe7 Mon Sep 17 00:00:00 2001 From: Downforce Agent Date: Wed, 31 Jan 2024 20:09:41 -0500 Subject: [PATCH] readme cleanup --- readme.md | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/readme.md b/readme.md index 4d44630..d4a2d93 100644 --- a/readme.md +++ b/readme.md @@ -43,19 +43,21 @@ Underlined tasks are tasks currently being worked on # Building ## Arch Linux / endeavourOS 1. Install nlohmann-json if you haven't already: `sudo pacman -Sy nlohmann-json` -2. Enter the root directory (where `src` is) and run `cmake --build bin/` to create an executable file in the bin folder. -3. `cd` to `bin/` and run `./p3ng0`. (Your working directory needs to be the same directory where `conf/` is located.) +2. Enter the root directory (where `src` is) and run `cmake -S src/ -B bin/` to create the neccessary files to compile the program. +3. Run `cmake --build bin/` to create an executable file in the bin folder. +4. `cd` to `bin/` and run `./p3ng0`. (Your working directory needs to be the same directory where `conf/` is located.) ## Other Linux systems 1. Make sure nlohmann JSON is in your INCLUDE path so your compiler can find it's headers. -2. Enter the root directory (where `src` is) and run `cmake --build bin/` to create an executable file in the bin folder. -3. `cd` to `bin/` and run `./p3ng0`. (Your working directory needs to be the same directory where `conf/` is located.) +2. Enter the root directory (where `src` is) and run `cmake -S src/ -B bin/` to create the neccessary files to compile the program. +3. Run `cmake --build bin/` to create an executable file in the bin folder. +4. `cd` to `bin/` and run `./p3ng0`. (Your working directory needs to be the same directory where `conf/` is located.) ## Windows -Get WSL or a remote Linux machine and try again. +Tourbot isn't designed for Windows right now. As such, I haven't set up the project files to be compilable on Windows, even with Linux as the target. You can either install WSL and compile there, or set up the compiler yourself if you know what you're doing. ## Mac -I don't use Mac, I can't help you. +I don't use Mac and I never plan to support it, I can't help you. # FAQ ## Can I copy your code? @@ -68,12 +70,12 @@ I can't stop you from doing whatever you want with it, but if you do bad things ## When I try to log in, the console says "Account is no longer valid". Double check your spelling. -If you know your username is spelled correctly and the account hasn't been deleted/banned, make sure you saved bot.conf with Unix line endings. Windows line endings use a really funny looking two-byte control code for new lines, and Tourbot doesn't understand how to read them yet. It probably thinks that your username is something like "John�" instead of "John". Many text editors on Windows allow you to change this setting so Tourbot can read your configs correctly, unfortunately the default notepad.exe doesn't include this. -## Why isn't there a Windows version? -Two reasons. -1. Wirlaburla doesn't use Windows, and when he made P3NG0, his target platform was Linux and nothing else. Refactoring the code to eliminate any cross-platform compatibility issues so it compiles and runs on Windows isn't worth it in my opinion. I host Tourbot on a separate Linux server myself so my daily tasks on my main machine don't interfere with it, I don't have a need to port it. -2. The point of Tourbot is to be an automated chatbot. It's essentially a headless WorldsPlayer client that acts on it's own. It doesn't need a GUI, or anything fancy to work, or to even interact with users. So Tourbot is at home on headless servers, and Linux has always been a lot better for servers because of how flexible it is. Windows is built mostly with end users in mind, and the amount of people hosting VPSes who prefer to use Windows Server is pretty small. There just isn't any benefit to porting the bot. It would take infinitely less effort to just set up WSL on your Windows system and run the bot from there if you absolutely needed a Windows host. -## Why are passwords stored in plaintext? That's not safe! -Worlds doesn't have SSL or TLS, all your traffic to the roomserver is unencrypted. When you start a session on your Worlds account you are transmitting your login details unprotected over the public internet. They aren't hashed on the server either. No token system or anything, this is a very old chat program with very old security standards. Thus there's no point to protecting the passwords when they're sitting on your system. +If you know your username is spelled correctly and the account hasn't been deleted/banned, make sure you saved bot.conf with Unix line endings. Windows line endings use a really funny looking two-byte control code for new lines, and Tourbot doesn't understand how to read them yet. It probably thinks that your username is something like "John�" instead of "John". I plan to fix this if a Windows port is ever released, but for now, you will need to be careful with your .conf files. -Ideally you should create a unique password specifically for Tourbot and not share it with anything else. That way, if something bad does happen, your other more secure stuff doesn't get stolen. \ No newline at end of file +Many text editors on Windows allow you to change this setting so Tourbot can read your configs correctly, unfortunately the default notepad.exe doesn't include this. +## Why isn't there a Windows version? +P3NG0 was designed from the very beginning with Linux in mind. When it came time to make Tourbot, the same was true; it's designed to be run headless, 24/7, on a server. Meaning you are expected to have a spare computer handy or a cloud VPS rented in order to run the bot. Just about every sane sysadmin uses Linux for headless systems, since Windows was always optimized around it's user interface and not much else. + +I could make a Windows version, doing so is actually not very difficult. The code for Tourbot is pretty small and it very rarely interacts with system APIs if at all. It's just a matter of if I want to or not. +## Why are passwords stored in plaintext? That's not safe! +Worlds doesn't have SSL or TLS, doesn't hash passwords, and doesn't have session tokens or revocable sessions. It's a very old program with extremely outdated security. Tourbot isn't secure because the weakest link in the chain makes any security effort on my part pointless. If you want to remain safe, use a *unique password* for the bot so that it can't be reused in the event it gets stolen. \ No newline at end of file