Autizmo Movie Night https://movie-night.autizmo.xyz
Go to file
Zorchenhimer fab56e39ea Rework emote parsing to properly handle wrapped emotes
Reworked the emote parsing to properly handle "wrapped" emotes.  A
wrapped emote is one that is wrapped in colons or square braces (eg,
:Kappa: or [Kappa]).  This allows emotes to be input without a space
between them, like is required with non-wrapped emotes.

A new configuration setting has been added to only allow parsing of
wrapped emotes: "WrappedEmotesOnly".  This defaults to False as to not
break current configurations.

The emote autocompletion will only insert non-wrapped emotes.  Setting
"WrappedEmotesOnly" configuration value to True will not change this.

Lastly, made the bare-word emote parsing a bit cleaner by removing a for
loop in favor of a map lookup with a check.  This should in theory be
more efficient.

This change is in response to #111.  The issue should not be considered
resolved until the autocompletion handles the new setting correctly.
2020-04-19 12:26:27 -04:00
common Rework emote parsing to properly handle wrapped emotes 2020-04-19 12:26:27 -04:00
docker added docker-compose file 2020-03-19 12:55:17 +01:00
static Merge pull request #107 from nocylah/nocylah-mobile-tweaks 2020-03-30 20:21:18 -04:00
wasm Add an emote list 2019-11-29 12:48:17 -05:00
.gitignore Use system wasm_exec.js 2020-03-29 20:47:42 -06:00
.travis.yml Enable module support for Travis 2019-04-04 10:38:14 -04:00
chatclient_test.go Fix name highlighting breaking emotes 2019-09-22 15:42:48 -04:00
chatclient.go Fix name highlighting breaking emotes 2019-09-22 15:42:48 -04:00
chatcommands.go Rework settings mutex and saving settings 2020-01-30 14:32:46 -05:00
chatroom.go Rework settings mutex and saving settings 2020-01-30 14:32:46 -05:00
connection.go Add some logging 2019-03-24 18:58:59 -04:00
Dockerfile added Dockerfile 2020-03-19 11:49:42 +01:00
emotes.go Fix duplicating emotes with /reloademotes 2019-09-22 16:51:13 -04:00
errors.go
favicon.png
go.mod Removed dependency of dennwc\dom\js 2019-09-22 14:31:04 -04:00
go.sum commiting so zorch can do my work 2019-06-01 19:41:28 -04:00
handlers.go Add an emote list 2019-11-29 12:48:17 -05:00
main.go Add ability to set admin password at startup 2020-04-18 16:02:41 -04:00
Makefile Use system wasm_exec.js 2020-03-29 20:47:42 -06:00
notes.txt
readme.md Merge pull request #104 from lukasklinger/master 2020-03-22 11:13:14 -04:00
settings_example.json Rework emote parsing to properly handle wrapped emotes 2020-04-19 12:26:27 -04:00
settings.go Rework emote parsing to properly handle wrapped emotes 2020-04-19 12:26:27 -04:00
stats.go Add some more stats 2019-04-14 00:25:49 -04:00

MovieNight stream server

Build status

This is a single-instance streaming server with chat. Originally written to replace Rabbit as the platform for watching movies with a group of people online.

Build requirements

  • Go 1.13 or newer
  • GNU Make

Older Go Versions

You can install a newer version of Go alongside your OS's distribution by following the guide here: https://golang.org/doc/install#extra_versions

Once you have that setup add an enviromnent variable named GO_VERSION and set it to the version you installed (eg, 1.14.1). The Makefile will now use the newer version.

Install

To just download and run:

$ git clone https://github.com/zorchenhimer/MovieNight
$ cd MovieNight
$ make
$ ./MovieNight

Usage

Now you can use OBS to push a stream to the server. Set the stream URL to

rtmp://your.domain.host/live

and enter the stream key.

Now you can view the stream at

http://your.domain.host:8089/

There is a video only version at

http://your.domain.host:8089/video

and a chat only version at

http://your.domain.host:8089/chat

The default listen port is :8089. It can be changed by providing a new port at startup:

Usage of .\MovieNight.exe:
  -k string
        Stream key, to protect your stream
  -l string
        host:port of the MovieNight (default ":8089")

Docker

MovieNight provides a Dockerfile and a docker-compose file to run MovieNight using Docker.

Dockerfile

Building the Container

Install Docker, clone the repository and build:

docker build -t movienight .

Running the Container

Run the image once it's built:

docker run -d -p 8089:8089 -p 1935:1935 [-v ./settings.json:/config/settings.json] movienight

Explanation:

  • -d runs the container in the background.
  • -p 8089:8089 maps the MovieNight web interface to port 8089 on the server.
  • -p 1935:1935 maps the RTMP port for OBS to port 1935 (default RTMP port) on the server.
  • -v ./settings.json:/config/settings.json maps the file settings.json into the container. [OPTIONAL]

docker-compose

docker-compose will automatically build the image, no need to build it manually.

Install Docker and docker-compose, clone the repository and change into the directory ./docker. Then run:

docker-compose up -d

This docker-compose file will create a volume called movienight-config and automatically add the standard settings.json file to it. It also maps port 8089 and 1935 to the same ports of the host.

Notes for Running Using docker-compose

The container needs to be restarted to apply any changes you make to settings.json.