diff --git a/bash_history b/bash_history index 2f37ad3..2542e81 100644 --- a/bash_history +++ b/bash_history @@ -21626,3 +21626,182 @@ exit gedit xit exit +c +cd config/ +ls +git diff +git commit -am "mail server config" +git push +git pull +git checkout gw-beta -- nginx/gate-content-asset.conf +ls +cd nginx/ +ls +vim gate-content-asset.conf +git reset --hard HEAD^1 +git pull +git checkout gw-beta +git pull +git checkout tj-dev +git checkout gw-beta -- nginx/gate-content-asset.conf +git checkout gw-beta -- nginx/gate.conf +cd .. +git checkout gw-beta -- nginx/gate-content-asset.conf +vim nginx/gate-content-asset.conf +sudo service nginx restart +cd /etc/nginx/ +ls +grep "443" * -R +vim sites-available/backup/www.conf +sudo vim sites-available/backup/www.conf +sudo mv ssl.conf /usr/share/gamewheel/config/nginx/ +ls +ln -s sites-available/ssl.conf +sudo ln -s sites-available/ssl.conf +ls +vim ssl.conf +sudo service nginx restart +vim sites-enabled/gate-content-asset.conf +c +cd config/ +ls +git status +git add nginx/ssl.conf +git status +git commit -am "ssl configuration" +git push +sudo service nginx restart +cd /etc/nginx/ +ls +cd sites-enabled/ +ls +c +cd config/ +ls +cd nginx/ +ls +git checkout crispy-dev -- mail.conf +vim mail.conf +git add mail.conf +git commit -am "mail server" +git push +sudo service nginx restart +ls +cd .. +ls +vim start +git pull +git push +cp start_gate start_mail +ls +vim start_mail +./start_mail +l +vim config/hosts +l +exit +cd /etc/nginx/ +ls +cd sites-enabled/ +ls +vim 3d-editor +vim 3d-editor.conf +ls +rm gate-content-asset.conf +sudo rm gate-content-asset.conf +sudo ln ../sites-available/gate-content-asset.conf 01-gate.conf +ls +sudo ln -s ../sites-available/gate-content-asset.conf 01-gate.conf +rm 01-gate.conf +sudo rm 01-gate.conf +sudo ln -s ../sites-available/gate-content-asset.conf 01-gate.conf +ls +sudo service nginx restart +vim 3d-editor-v2.conf +sudo rm 3d-editor-v2.conf +sudo rm 3d-editor-v3.conf +sudo rm api-v2.conf +sudo rm api-v3.conf +ls +sudo vim 3d-editor.conf +ssh gw-beta +ls +rm 01-gate.conf +sudo rm * +sudo ln -s ../sites-available/gate-content-asset.conf 01-gate-content-asset.conf +sudo ln -s ../sites-available/port-gamestate.conf 05-port-gamestate.conf +sudo ln -s ../sites-available/api.conf 10-api.conf +sudo ln -s ../sites-available/api-v1.6.conf 10-api-v1.6.conf +sudo ln -s ../sites-available/app.conf 10-app.conf +sudo ln -s ../sites-available/cdn.conf 20-cdn.conf +sudo ln -s ../sites-available/3d-pong.conf 30-3d-pong.conf +sudo ln -s ../sites-available/3doo.conf 30-3doo.conf +sudo ln -s ../sites-available/3d-editor 40-3d-editor.conf +sudo ln -s ../sites-available/3d-racing.conf 50-3d-racinf.conf +sudo ln -s ../sites-available/tools.conf 50-tools.conf +sudo ln -s ../sites-available/mail.conf 60-mail.conf +ls +rm 40-3d-editor.conf +sudo rm 40-3d-editor.conf +sudo ln -s ../sites-available/3d-editor.conf 40-3d-editor.conf +ls +sudo mv 50-3d-racinf.conf 50-3d-racing.conf +ls +sudo service nginx restart +ls +vim 40-3d-editor.conf +vim 01-gate-content-asset.conf +ls +rm * +sudo rm * +ln -s ../sites-available/server.conf +sudo ln -s ../sites-available/server.conf +sudo service nginx restart +ls +vim server.conf +sudo service nginx restart +ssh gw-api +ssh gw-beta +cd .. +cd conf.d/ +ls +ln -s /usr/share/gamewheel/config/nginx/ports.conf +sudo ln -s /usr/share/gamewheel/config/nginx/ports.conf +sudo service nginx restart +ls +cd .. +ls +vim nginx.conf +mv nginx.conf /usr/share/gamewheel/config/nginx/ +sudo mv nginx.conf /usr/share/gamewheel/config/nginx/ +sudo ln -s /usr/share/gamewheel/config/nginx/nginx.conf +ls +vim nginx.conf +ls +c +cd config/ +ls +cd nginx/ +l +ls +cd ng +cd config/ +cd nginx/ +ls +chown tj:www-data * +sudo chown tj:www-data * +ls +sudo service nginx restart +ls +sudo service nginx restart +3 +e1 +m +sudo service nginx restart +ls +sudo service nginx restart +ls +./start_po +./start_pong +l +exit diff --git a/config.js b/config.js index fccd308..65071a9 100644 --- a/config.js +++ b/config.js @@ -18,33 +18,6 @@ var config = { api16: { url: "http://api-v1.6.gamewheel.local" }, - editor_v2: { - url: 'http://3d-editor-v2.gamewheel.local', - default: { - platform: 'gamewheel', - account: 'root', - subAccount: 'root', - nameOfTheGame: 'test' - }, - uploadPath: '/uploads' - }, - api_v2: { - url: 'http://api-v2.gamewheel.local', - uploadPath : '/uploads' - }, - editor_v3: { - url: 'http://3d-editor-v3.gamewheel.local', - default: { - platform: 'gamewheel', - account: 'root', - subAccount: 'root', - nameOfTheGame: 'test' - }, - uploadPath: '/uploads' - }, - api_v3: { - url: 'http://api-v3.gamewheel.local' - }, tools: { url: "http://tools.gamewheel.local", default: { @@ -62,10 +35,6 @@ var config = { cdn: { url: 'http://cdn.gamewheel.local' }, - api_runtime: { - url: 'http://api-runtime.gamewheel.com', - version: "1.0.0" - }, gate: { url: 'http://gate.gamewheel.local' }, @@ -75,12 +44,6 @@ var config = { asset: { url: 'http://asset.gamewheel.local' }, - masker: { - url: 'http://masker.gamewheel.local' - }, - statistics: { - url: 'http://api-runtime.gamewheel.local' - }, port: { url: 'http://port.gamewheel.local' }, diff --git a/hosts b/hosts index 579134c..70e185e 100644 --- a/hosts +++ b/hosts @@ -29,8 +29,7 @@ 127.0.1.1 app.gamewheel.local 127.0.1.1 api.gamewheel.local 127.0.1.1 cdn.gamewheel.local - - +127.0.1.1 mail.gamewheel.local # The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback diff --git a/nginx/3d-editor-v2.conf b/nginx/3d-editor-v2.conf deleted file mode 100644 index 68186fd..0000000 --- a/nginx/3d-editor-v2.conf +++ /dev/null @@ -1,26 +0,0 @@ -server { - listen 80; - - server_name 3d-editor-v2.gamewheel.local 3d-editor-v2-debug.gamewheel.local; - - root /usr/share/gamewheel/3d-editor-v2; - index index.html; - - add_header 'Access-Control-Allow-Origin' '$http_origin'; - - location / { - autoindex on; - try_files $uri $uri/ @node; - } - - location @node { - proxy_pass_request_headers on; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://127.0.0.1:3105; - proxy_ssl_session_reuse off; - proxy_set_header Host $http_host; - proxy_redirect off; - } -} diff --git a/nginx/3d-editor-v3.conf b/nginx/3d-editor-v3.conf deleted file mode 100644 index 00acd01..0000000 --- a/nginx/3d-editor-v3.conf +++ /dev/null @@ -1,26 +0,0 @@ -server { - listen 80; - - server_name 3d-editor-v3.gamewheel.local 3d-editor-v3-debug.gamewheel.local; - - root /usr/share/gamewheel/3d-editor-v3; - index index.html; - - add_header 'Access-Control-Allow-Origin' '$http_origin'; - - location / { - autoindex on; - try_files $uri $uri/ @node; - } - - location @node { - proxy_pass_request_headers on; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://127.0.0.1:3107; - proxy_ssl_session_reuse off; - proxy_set_header Host $http_host; - proxy_redirect off; - } -} diff --git a/nginx/3d-editor.conf b/nginx/3d-editor.conf index 31bd95c..e3d0350 100644 --- a/nginx/3d-editor.conf +++ b/nginx/3d-editor.conf @@ -2,34 +2,36 @@ server { listen 80; - server_name 3d-editor.gamewheel.local 3d-editor-debug.gamewheel.local; + server_name + 3d-editor.gamewheel.local + 3d-editor-debug.gamewheel.local; root /usr/share/gamewheel/3d-editor; location ~/ { - if ($request_method = OPTIONS ) { - add_header Access-Control-Allow-Origin $http_origin; - add_header Access-Control-Allow-Methods "GET, OPTIONS, POST"; - add_header Access-Control-Allow-Headers "Authorization"; - add_header Access-Control-Allow-Credentials "true"; - add_header Content-Length 0; - add_header Content-Type text/plain; - return 200; - } + if ($request_method = OPTIONS ) { + add_header Access-Control-Allow-Origin $http_origin; + add_header Access-Control-Allow-Methods "GET, OPTIONS, POST"; + add_header Access-Control-Allow-Headers "Authorization"; + add_header Access-Control-Allow-Credentials "true"; + add_header Content-Length 0; + add_header Content-Type text/plain; + return 200; + } add_header Access-Control-Allow-Origin $http_origin; try_files $uri $uri/ @node; } location @node { - proxy_pass_request_headers on; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://127.0.0.1:3103; - proxy_ssl_session_reuse off; - proxy_set_header Host $http_host; - proxy_redirect off; + proxy_pass_request_headers on; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://127.0.0.1:3103; + proxy_ssl_session_reuse off; + proxy_set_header Host $http_host; + proxy_redirect off; } } diff --git a/nginx/3d-pong.conf b/nginx/3d-pong.conf index 28bb900..bf6d5ec 100644 --- a/nginx/3d-pong.conf +++ b/nginx/3d-pong.conf @@ -1,15 +1,18 @@ +#origin git@github.com:ToywheelDev/vr_pong.git server { listen 80; - server_name 3d-pong.gamewheel.local 3d-pong-debug.gamewheel.local; + server_name + 3d-pong.gamewheel.local + 3d-pong-debug.gamewheel.local + 3doo.gamewheel.local + 3doo-debug.gamewheel.local; - root /usr/share/gamewheel/3d-pong; + add_header Access-Control-Allow-Origin $http_origin; #We start to pass everything to express, otherwise we end up with '/' location saying 403 Forbidden #Static files delivered trough express.static() location ~ { - add_header Access-Control-Allow-Origin $http_origin; - # WebSocket support proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; @@ -20,7 +23,7 @@ server { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-NginX-Proxy true; - proxy_pass http://127.0.0.1:3101; + proxy_pass http://3d-pong; proxy_ssl_session_reuse off; proxy_set_header Host $http_host; proxy_redirect off; diff --git a/nginx/api-v2.conf b/nginx/api-v2.conf deleted file mode 100644 index 5928795..0000000 --- a/nginx/api-v2.conf +++ /dev/null @@ -1,28 +0,0 @@ -server { - listen 80; - - server_name api-v2.gamewheel.local api-v2-debug.gamewheel.local; - - root /usr/share/gamewheel/api-v2; - - add_header Access-Control-Allow-Methods 'HEAD, GET, POST, PUT, DELETE, OPTIONS'; - add_header Access-Control-Allow-Headers 'origin, x-requested-with, content-type, accept, authorization, Access-Control-Request-Headers, Access-Control-Request-Method, x-gw-api-rt-key, x-gw-api-rt-token'; - - location / { - add_header Access-Control-Allow-Origin $http_origin; - autoindex on; - try_files $uri $uri/ @node; - } - - location @node { - proxy_pass_request_headers on; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://127.0.0.1:3106; - proxy_ssl_session_reuse off; - proxy_set_header Host $http_host; - proxy_redirect off; - } - -} diff --git a/nginx/api-v3.conf b/nginx/api-v3.conf deleted file mode 100644 index 115d7b7..0000000 --- a/nginx/api-v3.conf +++ /dev/null @@ -1,21 +0,0 @@ -server { - listen 80; - - server_name api-v3.gamewheel.local api-v3-debug.gamewheel.local; - - root /usr/share/gamewheel/api-v3; - - add_header Access-Control-Allow-Methods 'HEAD, GET, POST, PUT, DELETE, OPTIONS'; - add_header Access-Control-Allow-Headers 'origin, x-requested-with, content-type, accept, authorization, Access-Control-Request-Headers, Access-Control-Request-Method, x-gw-api-rt-key, x-gw-api-rt-token'; - - location / { - proxy_pass_request_headers on; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://127.0.0.1:3108; - proxy_ssl_session_reuse off; - proxy_set_header Host $http_host; - proxy_redirect off; - } -} diff --git a/nginx/default_server.conf b/nginx/default_server.conf new file mode 100644 index 0000000..15b621e --- /dev/null +++ b/nginx/default_server.conf @@ -0,0 +1,39 @@ +server { + listen 80 default_server; + listen [::]:80 default_server ipv6only=on; + return 301 https://$host$request_uri; +} + +server { + listen 443 ssl default_server; + listen [::]:443 ssl default_server ipv6only=on; + + include /etc/nginx/ssl.conf; + + server_name ~^(?.*)\.gamewheel\.local$; + + add_header Access-Control-Allow-Origin $http_origin; + + location ~ { + autoindex on; + root /usr/share/gamewheel/$application; + try_files $uri $uri/ @node; + } + + location @node { + # WebSocket support + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + + # Normal parameters + proxy_pass_request_headers on; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://$application; + proxy_ssl_session_reuse off; + proxy_set_header Host $http_host; + proxy_redirect off; + } +} \ No newline at end of file diff --git a/nginx/gate-content-asset.conf b/nginx/gate-content-asset.conf deleted file mode 100644 index b479a71..0000000 --- a/nginx/gate-content-asset.conf +++ /dev/null @@ -1,30 +0,0 @@ -server { - listen 80; - return 301 https://$server_name$request_uri; -} - -server { - listen 443 ssl; - - include /etc/nginx/ssl.conf; - - location / { - #auth_basic "Restricted"; #For Basic Auth - #auth_basic_user_file /etc/nginx/.htpasswd; #For Basic Auth - - # redirect all HTTP traffic to userInterface1 - proxy_pass http://127.0.1:3115; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header Host $host; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - - # WebSocket support (nginx 1.4) - proxy_http_version 1.1; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection "upgrade"; - - # Path rewriting - rewrite /(.*) /$1 break; - proxy_redirect off; - } -} diff --git a/nginx/3doo.conf b/nginx/gate.conf similarity index 58% rename from nginx/3doo.conf rename to nginx/gate.conf index 06c8d05..fe6a26e 100644 --- a/nginx/3doo.conf +++ b/nginx/gate.conf @@ -1,15 +1,18 @@ server { - listen 80; - - server_name 3doo.gamewheel.local 3doo-debug.gamewheel.local; + listen 80 default_server; + listen [::]:80 default_server ipv6only=on; + return 301 https://$host$request_uri; +} - root /usr/share/gamewheel/3d-pong; +server { + listen 443 ssl default_server; + listen [::]:443 ssl default_server ipv6only=on; + + include /etc/nginx/ssl.conf; + + add_header Access-Control-Allow-Origin $http_origin; - #We start to pass everything to express, otherwise we end up with '/' location saying 403 Forbidden - #Static files delivered trough express.static() location ~ { - add_header Access-Control-Allow-Origin $http_origin; - # WebSocket support proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; @@ -20,9 +23,9 @@ server { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-NginX-Proxy true; - proxy_pass http://127.0.0.1:3101; + proxy_pass http://gate; proxy_ssl_session_reuse off; proxy_set_header Host $http_host; proxy_redirect off; } -} +} \ No newline at end of file diff --git a/nginx/nginx.conf b/nginx/nginx.conf new file mode 100644 index 0000000..0905e4d --- /dev/null +++ b/nginx/nginx.conf @@ -0,0 +1,105 @@ +user www-data; +worker_processes 4; +pid /run/nginx.pid; + +events { + worker_connections 768; + # multi_accept on; +} + +http { + + ## + # Basic Settings + ## + + sendfile on; + tcp_nopush on; + tcp_nodelay on; + keepalive_timeout 65; + types_hash_max_size 2048; + # server_tokens off; + + # server_names_hash_bucket_size 64; + # server_name_in_redirect off; + + include /etc/nginx/mime.types; + default_type application/octet-stream; + + client_max_body_size 1024M; + + ## + # Logging Settings + ## + log_format custom_access '$request_method: $host$request_uri ($status)'; + access_log /var/log/nginx/access.log custom_access; + + error_log /var/log/nginx/error.log; + + ## + # Timeout Settings + ## + + fastcgi_read_timeout 6000; + proxy_read_timeout 6000; + + ## + # Gzip Settings + ## + + gzip on; + gzip_disable "msie6"; + + gzip_vary on; + gzip_proxied any; + gzip_comp_level 2; + gzip_buffers 16 8k; + gzip_http_version 1.1; + gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript; + + ## + # nginx-naxsi config + ## + # Uncomment it if you installed nginx-naxsi + ## + + #include /etc/nginx/naxsi_core.rules; + + ## + # nginx-passenger config + ## + # Uncomment it if you installed nginx-passenger + ## + + #passenger_root /usr; + #passenger_ruby /usr/bin/ruby; + + ## + # Virtual Host Configs + ## + + include /etc/nginx/conf.d/*.conf; + include /etc/nginx/sites-enabled/*; +} + + +#mail { +# # See sample authentication script at: +# # http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript +# +# # auth_http localhost/auth.php; +# # pop3_capabilities "TOP" "USER"; +# # imap_capabilities "IMAP4rev1" "UIDPLUS"; +# +# server { +# listen localhost:110; +# protocol pop3; +# proxy on; +# } +# +# server { +# listen localhost:143; +# protocol imap; +# proxy on; +# } +#} diff --git a/nginx/port-gamestate.conf b/nginx/port-gamestate.conf index 9090ff6..1b63f73 100644 --- a/nginx/port-gamestate.conf +++ b/nginx/port-gamestate.conf @@ -2,14 +2,16 @@ server { listen 80; - server_name port.gamewheel.local gamestate.gamewheel.local; + server_name + port.gamewheel.local + gamestate.gamewheel.local; root /usr/share/gamewheel/port; location / { # redirect all HTTP traffic to userInterface1 - proxy_pass http://127.0.0.1:3114; + proxy_pass http://port; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; diff --git a/nginx/ports.conf b/nginx/ports.conf new file mode 100644 index 0000000..e045c39 --- /dev/null +++ b/nginx/ports.conf @@ -0,0 +1,35 @@ +upstream 3d-pong { + server 127.0.0.1:3101; +} + +upstream 3d-racing { + server 127.0.0.1:3102; +} + +upstream 3d-editor { + server 127.0.0.1:3103; +} + +upstream api-v1.6 { + server 127.0.0.1:3104; +} + +upstream tools { + server 127.0.0.1:3109; +} + +upstream app { + server 127.0.0.1:3110; +} + +upstream api { + server 127.0.0.1:3111; +} + +upstream port { + server 127.0.0.1:3114; +} + +upstream gate { + server 127.0.0.1:3115; +} \ No newline at end of file diff --git a/secure.js b/secure.js index 3b5ce7e..5f4a927 100644 --- a/secure.js +++ b/secure.js @@ -44,79 +44,6 @@ var secure = { }, sessionKey: 'iJswK29klj20Jos02mJK8ud9239j23' }, - editor_v2: { - port: 3105, - debugPort: 3205, - cluster: false - }, - api_v2: { - port: 3106, - debugPort: 3206, - liveReloadPort: 3406, - mongodb: { - host: 'mongodb://127.0.0.1', - db: 'api_v2', - port: 27017, - shardPort: 27018, - options: { - db: { - native_parser: true - }, - server: { - poolSize: 5, - keepAlive: 120 - }, - user: '', - pass: '', - autoIndex: false - } - }, - mailer: { - host: 'localhost', - port: 9025, - secure: false, - debug: true, - ignoreTLS: true - }, - sessionKey: 'iJswK29klj20Jos02mJK8ud9239j23' - }, - editor_v3: { - port: 3107, - debugPort: 3207, - cluster: false - }, - api_v3: { - port: 3108, - debugPort: 3208, - liveReloadPort: 3408, - mongodb: { - host: 'mongodb://127.0.0.1', - db: 'api_v3', - port: 27017, - shardPort: 27018, - options: { - db: { - native_parser: true - }, - server: { - poolSize: 5, - keepAlive: 120 - }, - user: '', - pass: '', - autoIndex: false - } - }, - uploadPath : 'uploads', - mailer: { - host: 'localhost', - port: 9025, - secure: false, - debug: true, - ignoreTLS: true - }, - sessionKey: 'iJswK29klj20Jos02mJK8ud9239j23' - }, tools: { port: 3109, debugPort: 3209, @@ -191,44 +118,6 @@ var secure = { }, sessionKey: 'iJswK29klj20Jos02mJK8ud9239j23' }, - api_runtime: { - port: 3112, - debugPort: 3212, - liveReloadPort: 3412, - cors: true, - cluster: false, - auth: { - secret: "xDKsyQm2F52Y9hfqv7yG80tu1wv90zkH", - token_duration: 86400000, - api_key: "gw_rocks", - admin: { - email: "admin@gamewheel.com", - password: "gw_config_api_rocks" - } - }, - db: { - type: "mysql", - host: "127.0.0.1", - port: 3306, - database: "gw_core", - user: "root", - password: "", - max_connections: 10 - }, - game_session_timeout: 180000 - }, - masker: { - auth_key: "gw_masker_rocks" - }, - statistics: { - port: 3113, - debugPort: 3213, - liveReloadPort: 3413, - mongodb: { - host: 'mongodb://127.0.0.1', - db: 'statistic' - } - }, port: { port: 3114, debugPort: 3214 diff --git a/start_mail b/start_mail new file mode 100755 index 0000000..b20379d --- /dev/null +++ b/start_mail @@ -0,0 +1,3 @@ +#!/bin/bash +cd /usr/share/gamewheel/gate +pm2 start capto -- run