Giter VIP home page Giter VIP logo

scribble.rs's Introduction

Scribble.rs

Scribble.rs is an alternative to the web-based drawing game skribbl.io. My main problems with skribbl.io were the ads and the fact that a disconnect would cause you to lose your points. On top of that, the automatic word choice was quite annoying and caused some frustration.

The site will not display any ads or share any data with third parties.

Play now

Feel free to play on scribblers.fly.dev. Note that the instance may not respond instantly, as it automatically shuts down if no traffic is received.

Configuration

Configuration is read from environment variables or a .env file located in the working directory.

Available settings:

Key Description Default Required
PORT HTTP port that the server listens to. 8080 True
NETWORK_ADDRESS TCP address that the server listens to. False
ROOT_PATH Changes the path (after your domain) that the server listens to. False
CORS_ALLOWED_ORIGINS * False
CORS_ALLOW_CREDENTIALS False
LOBBY_CLEANUP_INTERVAL 90s False
LOBBY_CLEANUP_PLAYER_INACTIVITY_THRESHOLD 75s False

For more up-to-date configuration, read the config.go file.

Docker

Alternatively there's a docker container:

docker pull biosmarcel/scribble.rs:latest

Starting from v0.8.5, docker images are only built on tagged pushes. Each git tag becomes a docker tag, however latest will always point to the latest tag.

There's also biosmarcel/scribble.rs:windows-latest in case you are interested in running a native Windows container.

Building / Running

Dependencies:

  • go version 1.21 or later
  • git (You can also download a .zip from Github)

In order to download and build, open a terminal and execute:

git clone https://github.com/scribble-rs/scribble.rs.git
cd scribble.rs
go build ./cmd/scribblers .

This will produce a portable binary called scribblers or scribblers.exe if you are on Windows.

Pre-compiled binaries

In the Releases section you can find the latest stable release.

Alternatively each commit uploads artifacts which will be available for a certain time.

Changing default port

The default port is 8080. To override it, run:

docker run --pull always --env PORT=<port> -p <port>:<port> biosmarcel/scribble.rs:latest

nginx

Since Scribble.rs uses WebSockets, when running it behind an nginx reverse proxy, you have to configure nginx to support that. You will find an example configuration on the related Wiki page.

Other reverse proxies may require similar configuration. If you are using a well known reverse proxy, you are free to contribute a configuration to the wiki.

Contributing

There are many ways you can contribute:

  • Update / Add documentation in the wiki of the GitHub repository
  • Extend this README
  • Create feature requests and bug reports
  • Solve issues by creating Pull Requests
  • Tell your friends about the project

Credits

These resources are by people unrelated to the project, whilst not every of these resources requires attribution as per license, we'll do it either way ;)

If you happen to find a mistake here, please make a PR. If you are one of the authors and feel like we've wronged you, please reach out.

Some of these were slightly altered if the license allowed it. Treat each of the files in this repository with the same license terms as the original file.

scribble.rs's People

Contributors

bios-marcel avatar amyrahmady avatar luni-4 avatar 0xflotus avatar bbjake avatar bigeti avatar fabiangeissler avatar skick1234 avatar hija avatar piteur avatar kingtoadz avatar zouglou avatar kaiffeetasse avatar larsfu avatar lorenzbischof avatar pstienem avatar zznidar avatar mueller-patrick avatar bttrs avatar fuwn avatar szabodanika avatar thecodeah avatar maquis196 avatar andrazznidar avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.