Commit graph

628 commits

Author SHA1 Message Date
Sergey Stepanov
fd3f267c64
Update scripts
Docker cache order.
Install missing xauth for xvfb-run.
2021-08-15 20:29:45 +03:00
Sergey Stepanov
12312edd03
Add missing core downloader call 2021-08-12 22:22:46 +03:00
sergystepanov
d8e3ec8b21
Update version.sh 2021-08-10 21:29:42 +03:00
Sergey Stepanov
b4b199c244
Add public ping address option for worker 2021-08-09 17:54:49 +03:00
sergystepanov
431d215eee
Update server HTTPS configuration (#337)
* Merge HTTP and HTTPS routes builder in coordinator

* Extract HTTP/S routes

* Rename config in coordinator

* Generalize child services

* Extract games library helper function

* Use string address instead of port for HTTP/S

* Use a dedicated port extractor function

* Add missing GA tag templating

* Rename shared server address and port params

* Introduce TLS config parameters

* Simplify HTTP/S server constructors

* Update server auto port roll

* Extract init function in worker

* Reorder return params of address type port fn

* Refactor config handler names

* Update TLS default config params

* Extract HTTP to HTTPS redirect function

* Use httpx in monitoring

* Don't log echo requests

* Remove error return from the abstract server

* Add WSS option to the worker-coordinator connection

* Change default worker config

* Make worker send its internal connection params

* Decouple gamelib from the coordinator

* Expose HTTP/S listener address

* Keep original HTTP/S addresses

* Remove no config handler in worker

* Use HTTP-HTTPS redirection

* Wrap net.Listener into a struct

* Clean http server creation fn

* Redirect to https with a generated address

* Use URL in the redirector

* Use zone address param in worker

* Make use of actual addr and port in the monitoring servers

* Use auto-justified monitoring addresses info

* Add the non-HTTPS worker to HTTPS coordinator connection warning

* Embed TLS struct

* Move connection API struct into cws package
2021-08-09 10:42:06 +03:00
Sergey Stepanov
2657dfbc70
Rename manual production deployment workflow 2021-08-08 18:44:45 +03:00
Sergey Stepanov
4ec18fc34c
Enable manual production deployments 2021-08-08 18:34:16 +03:00
Sergy Stepanov
5199d73caf Show errors when client WS connection fails 2021-07-31 13:05:48 +03:00
Sergy Stepanov
e4e160d9dc Update Makefile 2021-07-31 13:03:18 +03:00
Sergy Stepanov
a3d2549028 Remove old is_mobile init param 2021-07-31 12:33:25 +03:00
sergystepanov
f7790732f5
Use different default monitoring port in worker
Both coordinator and worker use the same port number for the monitoring server which leads to a conflict. This fix resolves that.
2021-07-30 23:20:38 +03:00
sergystepanov
54deb3607d
Remove font-awesome CSS ref from the index page 2021-07-30 22:56:16 +03:00
Sergey Stepanov
03fb03a71a
Rename old app references 2021-07-30 13:30:15 +03:00
Sergey Stepanov
95f65b2b72
Add useless cache for worker's echo response 2021-07-30 12:48:36 +03:00
sergystepanov
d3e16a4a09
Make Google Analytics injection optional (#336)
This allows switching GA client statistics on the client by setting these params in the config.yaml file:
 analytics:
   inject: false/true
   gtag: (your tag)
By default, GA analytics will be disabled.
2021-07-30 12:29:16 +03:00
sergystepanov
ff562503f1
Delete not used font-awesome.css 2021-07-30 12:22:59 +03:00
sergystepanov
3abb1d4818
Use orientation-based video / canvas stretching (#335) 2021-07-28 02:13:03 +03:00
sergystepanov
3079751758
Update dependencies (#331) 2021-07-17 12:23:07 +03:00
Sergey Stepanov
69f18d19e4
Pass version number as gh env when pushing Docker images 2021-07-16 18:32:17 +03:00
Sergey Stepanov
dc151f6a0b
Pass version when pushing Docker images 2021-07-16 18:22:52 +03:00
sergystepanov
30d104ee98
Add version info into the apps (#330)
Both worker and coordinator display version number in the console during startup. Coordinator displays its version number in the top right corner of the index.html page.
2021-07-16 18:13:20 +03:00
sergystepanov
cbabe69f30
Track connected user count of workers. (#328)
If a worker (game) is shared, then without tracking players it's impossible to tell when it becomes available for a new game which leads to emulator share and crashes.
2021-07-05 19:11:12 +03:00
Silver Zhang
35ee35d730
Remove port binding for docker config (#326)
Docker-compose does not support host mode along with the port
binding anymore. Additionally there is no necessity for using
port binding under current configuration since it takes no effect.
2021-07-03 21:20:38 +03:00
sergystepanov
2378288a5b
Fix player select with touch controls (#325) 2021-07-02 13:34:12 +03:00
Sergey Stepanov
875673c661
Remove mingw-w64-x86_64-pkg-config and mingw-w64-x86_64-pkgconf conflict in MSYS2 2021-06-26 22:41:28 +03:00
Sergey Stepanov
867990e62a
(Re)Add MAME (FinalBurn Neo) core record into the default config file 2021-06-26 22:34:13 +03:00
Sergey Stepanov
fffe4813c4
Use OS aware file path concat with ROMs 2021-06-26 22:32:23 +03:00
giongto35
c3c3351feb
Update README.md 2021-06-05 09:46:32 +08:00
giongto35
4935997c82
CD Flow to redeploy after push (#320)
* Add redeploy.sh to redeploy

* Add redeploy to workflow

* Update redeploy script

* Redeploy script

* Test

* run after checkout

* Update path

* checkout ssh

* Update build

* remove unnecesary

* Update placeholder

* Update domain

* Retrigger

* Update docker login

* Update config

* deploy with config

* Update sync config

* Redeploy

* Update redeploy.sh

* Redeploy specific

* redeploy.sh

* redeploy specific.sh

* add more server

* Update redeploy

* Update docker publish

* Redeploy

* Update port

* Update redeploy.sh

* test build

* Remove test with build.yaml

* Clean up

* Clean up
2021-05-28 03:51:25 +08:00
Sergey Stepanov
27e8a792fd
Publish Docker images from the stable/unstable code.
v-tagged push -> v-tagged stable image with stable tag also
master push -> dev tagged image
2021-05-26 22:23:47 +03:00
giongto35
eb10e203c9
Cd flow (#319)
* Add redeploy.sh to redeploy

* Add redeploy to workflow
2021-05-27 03:05:40 +08:00
giongto35
e3e05bc460
Add redeploy.sh to redeploy (#318) 2021-05-27 02:49:34 +08:00
sergystepanov
53e49c3634
Publish Docker images with the latest tag 2021-05-24 17:01:53 +03:00
giongto35
bc6027bf2b
Fix override env flag (#316) 2021-05-23 23:52:59 +08:00
sergystepanov
eddbf42ea7
Update STREAMING.md 2021-05-20 20:53:55 +03:00
sergystepanov
f7f9190875
Update STREAMING.md 2021-05-20 20:53:29 +03:00
giongto35
46d2ca5a62
Update README.md 2021-05-13 03:09:20 +08:00
sergystepanov
d2dfeb0cc8
Create STREAMING.md 2021-05-09 18:59:00 +03:00
Sergey Stepanov
ae5260fb47
Handle recover in VPX tests 2021-05-07 13:09:47 +03:00
sergystepanov
3e2a650b14
Fix the main save file path
Broken file check by just room name without the .dat extension always fails.
2021-04-22 20:09:24 +03:00
Sergey Stepanov
a7d8e53dac
Add video encoder tests 2021-04-17 12:55:54 +03:00
Sergey Stepanov
2a1bdbb3c9
Use passive touchstart events
Due to possible scroll blocking.
2021-04-14 11:53:31 +03:00
Sergey Stepanov
efd8679de3
Fix some mistakes 2021-04-14 11:37:43 +03:00
Sergey Stepanov
763859283a
Use default Go file extension for builds 2021-04-09 20:59:15 +03:00
sergystepanov
65dcaf7820
Enable release builds with v-tags (#310)
Re-enable release builds push into Github releases page when new v-prefixed tags are pushed (i.e. v2.4.2).
2021-04-07 18:50:34 +03:00
sergystepanov
602b9ea47c
Make executables ready for static linking (#307)
* Disable CGO (C libs) for coordinator

Needed for static linking.

* Fix "error strings should not be capitalized (ST1005)"

* Fix SA1015

Using time.Tick leaks the underlying ticker, consider using it only in endless functions, tests and the main package, and use time.NewTicker here (SA1015)

* Fix SA9004

Only the first constant in this group has an explicit type (SA9004).

* Remove unused code in the webrtc package

* Fix S1000

Should use a simple channel send/receive instead of select with a single case (S1000).

* Force dir creation/check for core downloader

* Update Makefile release script

* Disable ASLR for worker builds

* Remove WORKER_BUILD_PARAMS flag from the CI

* Don't force recompilation in release

* Add Debian packages installer script

* Build worker app without libopusfile

* Test worker app without libopusfile

* Add opus wrapper without opusfile

* Make install.sh executable

* Add opus lib in Win builds

* Make insecure HTTPS requests when downloading libs

* Add ca-certificates for Docker build stage

go mod download works only with SSL certificates installed.

* Move libx264 wrapper into the repo

That way we can get rid of a lot of not needed external Go dependencies.

* Update the dependencies
2021-04-06 18:16:52 +03:00
sergystepanov
d778a7e084
Allow to disable default Pion interceptors (#306)
For performance reasons.
2021-03-30 21:57:46 +03:00
sergystepanov
cbab5a1c71
Add deprecation note for libx264 < v160 (#301)
Deprecation due to libx264 version below v160 shouldn't work properly, and it's hard to support both v155, v160 in Golang.
2021-03-26 18:51:10 +03:00
sergystepanov
7ebd945344
Remove jQuery (#299)
* Remove jQuery

* Remove browser (vendor) prefixes for some CSS properties

* Use simple device orientation test

* Realign D-pad pointers

* Make GameBoy text unselectable

* Cleanup console.log

* Keep 90% size on mobile browsers due to gh-ribbon overlap

* Remove legacy `unselectable="on"` attributes

* Align UI buttons

* Remove not used UI elements

* Change Options button

* Don't show player change message when not in a game

* Add click/touch handler for circle-pad
2021-03-26 11:07:49 +03:00
sergystepanov
c7e67d5c3e
Use just one video/audio RTP codec (#298)
Negate exact matches with multiple video codecs when a negotiated list of codecs will be stripped of partially matched ones.
As an example, if we want to use the h264 codec along with vp8 then in some browsers we'll have the exact match on vp8 and some partial matches on h264 (different browsers have different SDP Fmtp) which leads to the forced use of vp8 when the app is streaming h264.
As a workaround, we should add only one codec (vp8 or h264) into the list.
2021-03-19 17:25:48 +03:00