diff --git a/WORKLOG.md b/WORKLOG.md
index 7137aefe..ea2872e5 100644
--- a/WORKLOG.md
+++ b/WORKLOG.md
@@ -55,6 +55,9 @@ do not allow vbox actions for finished instances
*SERVER*
* push events
+* test rust-ws w/ hyper upgrade
+* tx middleware
+
## SOON
diff --git a/client/src/components/anims/idle.jsx b/client/src/components/anims/idle.jsx
index 0972b4ac..2b7c2986 100644
--- a/client/src/components/anims/idle.jsx
+++ b/client/src/components/anims/idle.jsx
@@ -1,6 +1,7 @@
const anime = require('animejs').default;
function idle(id) {
+ return false;
const duration = anime.random(2000, 18000);
const target = document.getElementById(id);
return anime({
diff --git a/client/src/components/construct.jsx b/client/src/components/construct.jsx
index 9c669810..d7ef126d 100644
--- a/client/src/components/construct.jsx
+++ b/client/src/components/construct.jsx
@@ -31,7 +31,7 @@ class ConstructAvatar extends Component {
);
}
diff --git a/etc/nginx/sites-available/mnml.gg.DEV.nginx.conf b/etc/nginx/sites-available/mnml.gg.DEV.nginx.conf
index a9ab42eb..19fe416b 100644
--- a/etc/nginx/sites-available/mnml.gg.DEV.nginx.conf
+++ b/etc/nginx/sites-available/mnml.gg.DEV.nginx.conf
@@ -1,9 +1,14 @@
-error_log /var/log/nginx/mnml.nginx.log debug;
+error_log /var/log/mnml/nginx.log debug;
-upstream mnml {
+upstream mnml_http {
server 127.0.0.1:40000;
}
+upstream mnml_ws {
+ server 127.0.0.1:40055;
+}
+
+
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
@@ -14,7 +19,7 @@ server {
location / {
root /var/lib/mnml/public/dist;
index index.html;
- try_files $uri $uri/ =404;
+ try_files $uri $uri/ index.html;
}
location /imgs/ {
@@ -23,7 +28,7 @@ server {
}
location /api/ws {
- proxy_pass http://mnml;
+ proxy_pass http://mnml_ws;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
@@ -31,7 +36,7 @@ server {
}
location /api/ {
- proxy_pass http://mnml;
+ proxy_pass http://mnml_http;
proxy_read_timeout 600s;
}
}
diff --git a/server/src/img.rs b/server/src/img.rs
index 557560ba..1d383704 100644
--- a/server/src/img.rs
+++ b/server/src/img.rs
@@ -1,6 +1,8 @@
use uuid::Uuid;
use rand::prelude::*;
use std::fs::copy;
+use std::fs::File;
+use std::io::prelude::*;
use failure::Error;
use failure::err_msg;
@@ -22,3 +24,103 @@ pub fn img_molecular_write(id: Uuid) -> Result {
return Err(err_msg("too many missing molecules. wrong directory?"))
}
+
+
+
+fn invader_img_write(id: Uuid) -> Result {
+ let mut rng = thread_rng();
+ let mut svg = Vec::new();
+
+ write!(&mut svg, "")?;
+
+ // println!("{:?}", String::from_utf8(svg.clone())?);
+
+ let dest = format!("/var/lib/mnml/public/imgs/{}.svg", id);
+ println!("molecule dest={:?}", dest);
+
+ let mut file = File::create(dest)?;
+ file.write_all(&svg)?;
+
+ Ok(id)
+}
+
+
+#[cfg(test)]
+mod tests {
+ use super::*;
+
+ #[test]
+ fn invader_img_test() {
+ invader_img_write(Uuid::new_v4()).unwrap();
+ }
+}
+
+
+
+// function createColor() {
+// //saturation is the whole color spectrum
+// var h = Math.floor(rand() * 360);
+// //saturation goes from 40 to 100, it avoids greyish colors
+// var s = ((rand() * 60) + 40) + '%';
+// //lightness can be anything from 0 to 100, but probabilities are a bell curve around 50%
+// var l = ((rand()+rand()+rand()+rand()) * 25) + '%';
+
+// var color = 'hsl(' + h + ',' + s + ',' + l + ')';
+// return color;
+// }
+
+// function createImageData(size) {
+// var width = size; // Only support square icons for now
+// var height = size;
+
+// var dataWidth = Math.ceil(width / 2);
+// var mirrorWidth = width - dataWidth;
+
+// var data = [];
+// for(var y = 0; y < height; y++) {
+// var row = [];
+// for(var x = 0; x < dataWidth; x++) {
+// // this makes foreground and background color to have a 43% (1/2.3) probability
+// // spot color has 13% chance
+// row[x] = Math.floor(rand()*2.3);
+// }
+// var r = row.slice(0, mirrorWidth);
+// r.reverse();
+// row = row.concat(r);
+
+// for(var i = 0; i < row.length; i++) {
+// data.push(row[i]);
+// }
+// }
+
+// return data;
+// }
+
+// function buildOpts(opts) {
+// var newOpts = {};
+
+// newOpts.seed = opts.seed || Math.floor((Math.random()*Math.pow(10,16))).toString(16);
+
+// seedrand(newOpts.seed);
+
+// newOpts.size = opts.size || 8;
+// newOpts.scale = opts.scale || 4;
+// newOpts.color = opts.color || createColor();
+// newOpts.bgcolor = opts.bgcolor || createColor();
+// newOpts.spotcolor = opts.spotcolor || createColor();
+
+// return newOpts;
+// }
\ No newline at end of file
diff --git a/server/src/main.rs b/server/src/main.rs
index 47d2f8d1..ffa14730 100644
--- a/server/src/main.rs
+++ b/server/src/main.rs
@@ -27,86 +27,86 @@ extern crate cookie;
extern crate tungstenite;
extern crate crossbeam_channel;
-mod account;
-mod construct;
-mod effect;
-mod game;
-mod instance;
-mod item;
+// mod account;
+// mod construct;
+// mod effect;
+// mod game;
+// mod instance;
+// mod item;
mod img;
-mod mob;
-mod mtx;
-mod names;
-mod net;
-mod payments;
-mod pg;
-mod player;
-mod pubsub;
-mod rpc;
-mod skill;
-mod spec;
-mod util;
-mod vbox;
-mod warden;
-mod ws;
+// mod mob;
+// mod mtx;
+// mod names;
+// mod net;
+// mod payments;
+// mod pg;
+// mod player;
+// mod pubsub;
+// mod rpc;
+// mod skill;
+// mod spec;
+// mod util;
+// mod vbox;
+// mod warden;
+// mod ws;
-use std::thread::{sleep, spawn};
-use std::time::{Duration};
-use dotenv::dotenv;
+// use std::thread::{sleep, spawn};
+// use std::time::{Duration};
+// use dotenv::dotenv;
-use pubsub::pg_listen;
-use warden::warden;
+// use pubsub::pg_listen;
+// use warden::warden;
-fn setup_logger() -> Result<(), fern::InitError> {
- fern::Dispatch::new()
- .format(|out, message, record| {
- out.finish(format_args!(
- "{}[{}][{}] {}",
- chrono::Local::now().format("[%Y-%m-%d][%H:%M:%S]"),
- record.target(),
- record.level(),
- message
- ))
- })
- .level_for("postgres", log::LevelFilter::Info)
- .level_for("iron", log::LevelFilter::Info)
- .level(log::LevelFilter::Info)
- .chain(std::io::stdout())
- .chain(fern::log_file("/var/log/mnml/mnml.log")?)
- .apply()?;
- Ok(())
-}
+// fn setup_logger() -> Result<(), fern::InitError> {
+// fern::Dispatch::new()
+// .format(|out, message, record| {
+// out.finish(format_args!(
+// "{}[{}][{}] {}",
+// chrono::Local::now().format("[%Y-%m-%d][%H:%M:%S]"),
+// record.target(),
+// record.level(),
+// message
+// ))
+// })
+// .level_for("postgres", log::LevelFilter::Info)
+// .level_for("iron", log::LevelFilter::Info)
+// .level(log::LevelFilter::Info)
+// .chain(std::io::stdout())
+// .chain(fern::log_file("/var/log/mnml/mnml.log")?)
+// .apply()?;
+// Ok(())
+// }
-fn main() {
- dotenv().ok();
- setup_logger().unwrap();
+// fn main() {
+// dotenv().ok();
+// setup_logger().unwrap();
- let pool = pg::create_pool();
+// let pool = pg::create_pool();
- let ws_pool = pool.clone();
- let http_pool = pool.clone();
- let warden_pool = pool.clone();
- let pubsub_pool = pool.clone();
+// let ws_pool = pool.clone();
+// let http_pool = pool.clone();
+// let warden_pool = pool.clone();
+// let pubsub_pool = pool.clone();
- spawn(move || {
- loop {
- let db_connection = warden_pool.get().expect("unable to get db connection");
- if let Err(e) = warden(db_connection) {
- info!("{:?}", e);
- }
- sleep(Duration::new(1, 0));
- }
- });
+// spawn(move || {
+// loop {
+// let db_connection = warden_pool.get().expect("unable to get db connection");
+// if let Err(e) = warden(db_connection) {
+// info!("{:?}", e);
+// }
+// sleep(Duration::new(1, 0));
+// }
+// });
- spawn(move || loop {
- let pubsub_conn = pubsub_pool.get().expect("could not get pubsub pg connection");
- match pg_listen(pubsub_conn) {
- Ok(_) => warn!("pg listen closed"),
- Err(e) => warn!("pg_listen error {:?}", e),
- }
- });
+// spawn(move || loop {
+// let pubsub_conn = pubsub_pool.get().expect("could not get pubsub pg connection");
+// match pg_listen(pubsub_conn) {
+// Ok(_) => warn!("pg listen closed"),
+// Err(e) => warn!("pg_listen error {:?}", e),
+// }
+// });
- spawn(move || net::start(http_pool));
- ws::start(ws_pool);
- info!("server started");
-}
+// spawn(move || net::start(http_pool));
+// ws::start(ws_pool);
+// info!("server started");
+// }