mourne_rcpp_fw/Readme.md
2021-10-30 19:13:15 +02:00

87 lines
2.4 KiB
Markdown

# Mourne
An old village builder / hero manager web rpg that I originally wrote using Code Igniter 3 ported to [rcpp_framework](https://github.com/Relintai/rcpp_framework).
The original code is under the `Mourne-CI` folder. I wrote this about 9 years ago. I only have the application code in the folder.
I decided not to commit the framework code itself to minimize the chance of committing passwords, or stray temp files and such.
This was my first bigger app, so even though when I wrote this I did pay attention to make it secure (it's probably not that bad), however it's still
probably not a good idea to use it as it is.
This is highly experimental stuff. It probably shouldn't be used by anyone who's sane.
Note: this readme has been taken from an another project of mine, it will be updated later.
## Compilation
Will only work on linux! Works on the rasberry pi.
### Dependencies
Arch/Manjaro:
```
pacman -S --needed scons pkgconf gcc yasm
```
Debian/Raspian:
```
sudo apt-get install build-essential scons pkg-config libudev-dev yasm
```
Optionally if you install MariaDB/MySQL and/or PostgreSQL the compile system should pick it up. Make sure to get a version
whoch contains the development headers (A bunch of .h files).
### Initial setup
clone this repo, then call `scons`, it will clone rcpp cms into a new engine directory. Run this every time you update the project.
You don't have to run it before / between builds.
```
# git clone https://github.com/Relintai/mourne.git mourne
# cd crystal_cms
# scons
```
Now you can build the project like: `scons bl`. ([b]uild [l]inux)
Adding -jX to the build command will run the build on that many threads. Like: `scons bl -j4`.
```
# scons bl -j4
- or -
# ./build.sh
```
Now you can run it.
First run migrations, this will create the necessary database tables:
```
# ./engine/bin/server m
- or -
# ./migrate.sh
```
Now you can start the server:
```
# ./engine/bin/server
- or -
# ./run.sh
```
Make sure to run it from the project's directory, as it needs data files.
Now just open http://127.0.0.1:8080
You can push floats to the "a/b" MQTT topics, and the new values will be save in the `database.sqlite` file, and will appear
in your browser.
## Structure
The main Application implementation is `app/ic_application.h`.
The `main.cpp` contains the initialization code for the framework.
The `content/www` folder is the wwwroot.