🐛 fix: Rename netris to nestri (#78)

## Description

**What issue are you solving (or what feature are you adding) and how
are you doing it?**

This PR is the first in a series of PRs trying to solve the issue #48 by
renaming `Netris` to `Nestri` to avoid Trademark legal issues.
This commit is contained in:
Wanjohi
2024-06-06 00:27:40 +03:00
committed by GitHub
parent f05494c08a
commit 5c9cb8e563
9 changed files with 46 additions and 46 deletions

View File

@@ -25,7 +25,7 @@ on:
env:
REGISTRY: ghcr.io
IMAGE_NAME: netrisdotme/netris
IMAGE_NAME: nestriness/nestri
BASE_TAG_PREFIX: base
jobs:

View File

@@ -23,7 +23,7 @@ on:
env:
REGISTRY: ghcr.io
IMAGE_NAME: netrisdotme/netris
IMAGE_NAME: nestriness/nestri
BASE_TAG_PREFIX: server
# concurrency:

View File

@@ -24,7 +24,7 @@ on:
env:
REGISTRY: ghcr.io
IMAGE_NAME: netrisdotme/netris
IMAGE_NAME: nestriness/nestri
BASE_TAG_PREFIX: warp-input
# concurrency:

View File

@@ -22,7 +22,7 @@ on:
env:
REGISTRY: ghcr.io
IMAGE_NAME: netrisdotme/netris
IMAGE_NAME: nestriness/nestri
BASE_TAG_PREFIX: warp
# concurrency:

View File

@@ -2,11 +2,11 @@
trap "echo TRAPed signal" HUP INT QUIT TERM
# Create and modify permissions of XDG_RUNTIME_DIR
sudo -u netris mkdir -pm700 /tmp/runtime-1000
sudo chown netris:netris /tmp/runtime-1000
sudo -u netris chmod 700 /tmp/runtime-1000
sudo -u nestri mkdir -pm700 /tmp/runtime-1000
sudo chown nestri:nestri /tmp/runtime-1000
sudo -u nestri chmod 700 /tmp/runtime-1000
# Make user directory owned by the user in case it is not
sudo chown netris:netris /home/netris || sudo chown netris:netris /home/netris/* || { echo "$(date +"[%Y-%m-%d %H:%M:%S]") Failed to change user directory permissions. There may be permission issues."; }
sudo chown nestri:nestri /home/nestri || sudo chown nestri:nestri /home/nestri/* || { echo "$(date +"[%Y-%m-%d %H:%M:%S]") Failed to change user directory permissions. There may be permission issues."; }
#Input devices ownable by our default user
export REQUIRED_DEVICES=${REQUIRED_DEVICES:-/dev/uinput /dev/input/event*}
@@ -19,7 +19,7 @@ for dev in $REQUIRED_DEVICES; do
dev_gid=$(stat -c "%g" "$dev")
if [ "$dev_group" = "UNKNOWN" ]; then
new_name="netris-gid-$dev_gid"
new_name="nestri-gid-$dev_gid"
# We only have a GID for this group; create a named group for it
# this isn't 100% necessary but it prevents some useless noise in the console
sudo groupadd -g "$dev_gid" "$new_name"
@@ -61,7 +61,7 @@ sudo ln -snf /dev/ptmx /dev/tty7
sudo /etc/init.d/dbus start
# Install Proton-GE for this user
netris-proton -i
nestri-proton -i
# Install NVIDIA userspace driver components including X graphic libraries
if ! command -v nvidia-xconfig &> /dev/null; then

View File

@@ -1,7 +1,7 @@
<div align="center">
<div>
<a href="https://netris.me" >
<a href="https://nestri.io" >
<img height="160" src="/assets/logo.png">
</a>
@@ -12,11 +12,11 @@
<div align="center" >
<h1>
<a href="https://netris.me" >
<a href="https://nestri.io" >
<picture>
<source media="(prefers-color-scheme: dark)" srcset="/assets/logo-name-white.png">
<source media="(prefers-color-scheme: light)" srcset="/assets/logo-name-black.png">
<img alt="netris logo name" src="/assets/logo-name-black.png">
<img alt="nestri logo name" src="/assets/logo-name-black.png">
</picture>
</a>
@@ -40,7 +40,7 @@ An open-source cloud gaming platform built for you to play together with your fr
[![][github-license-shield]][github-license-link]
[![][github-stars-shield]][github-stars-link]
**Share the Netris Repository on Social Media**
**Share the Nestri Repository on Social Media**
[![][share-x-shield]][share-x-link]
[![][share-reddit-shield]][share-reddit-link]
@@ -57,13 +57,13 @@ An open-source cloud gaming platform built for you to play together with your fr
## Features 🌟
As Netris navigates through its _experimental_ phase, we're in the process of crafting and testing a variety of features for you:
As Nestri navigates through its _experimental_ phase, we're in the process of crafting and testing a variety of features for you:
1. **🎮 Proton-GE Compatibility:** We utilize Proton-GE for running games, offering extensive game compatibility and ensuring you can play a wide variety of titles.
2. **⚡ QUIC Protocol:** For input and video/audio transmission, we use QUIC via [MoQ][moq-github-url] to significantly reduce latency on variable networks, ensuring crisp visuals without sacrificing data or increasing latency.
3. **🔗 Session IDs:** With a `SESSION_ID`, we seamlessly tie your game progress, achievements, and devices without the need for logging into [netris.me][website-link]. Our public CDNs, currently located in Europe (eu-north-1) and the US (us-east-1), further reduce latency for friends playing together from afar. More locations are on the way!
3. **🔗 Session IDs:** With a `SESSION_ID`, we seamlessly tie your game progress, achievements, and devices without the need for logging into [nestri.io][website-link]. Our public CDNs, currently located in Europe (eu-north-1) and the US (us-east-1), further reduce latency for friends playing together from afar. More locations are on the way!
4. **🔄 Automatic Game Progress Sync:** Like Stadia's state share, we automatically sync your game progress based on the *.exe file you're running, allowing you to share your progress with friends via a link.
@@ -87,22 +87,22 @@ This platform is in an _experimental_ phase, and we're actively working on addin
## Getting Started 🎮
Whether you're looking to self-host Netris or simply want to try it out without the need for your own GPU, we've got you covered. Choose the path that best suits your needs:
Whether you're looking to self-host Nestri or simply want to try it out without the need for your own GPU, we've got you covered. Choose the path that best suits your needs:
<!-- _You can always change your option later without losing game progress_ -->
| If you don't have a Nvidia GPU or prefer not to self-host, you can visit our website. No installation or set up required ! <br/> This is the perfect option for gamers looking to dive straight into the action without any setup. | [👉🏽 Get Access][website-link] |
| :---------------------------------------- | :----------------------------------------------------------------------------------------------------------------- |
| If you're interested in self-hosting Netris, continue reading for detailed instructions on how to get started. <br/> This option is ideal if you have your own Nvidia GPU and are comfortable with setting up and managing your own server. | [🛠️ Self Host Netris](#self-hosting) |
| If you're interested in self-hosting Nestri, continue reading for detailed instructions on how to get started. <br/> This option is ideal if you have your own Nvidia GPU and are comfortable with setting up and managing your own server. | [🛠️ Self Host Nestri](#self-hosting) |
> \[!TIP]
>
> Remember, flexibility is key with Netris. You're free to switch between self-hosting and using `netris.me` whenever you like, without losing your game progress. \~ 💡
> Remember, flexibility is key with Nestri. You're free to switch between self-hosting and using `nestri.io` whenever you like, without losing your game progress. \~ 💡
<a name="self-hosting"></a>
### Self-Hosting Netris 🔨
### Self-Hosting Nestri 🔨
For those interested in self-hosting, here are is what you need to get your own Netris server up and running:
For those interested in self-hosting, here are is what you need to get your own Nestri server up and running:
- **Nvidia GPU**: Unfortunately, this setup is exclusive to Nvidia GPUs. If you don't own one, consider renting from cloud services like AWS, GCP, or Vast.ai. We highly recommend this approach.
@@ -122,7 +122,7 @@ For those interested in self-hosting, here are is what you need to get your own
### Step-by-Step Guide
Follow these steps to get Netris up and running on your system.
Follow these steps to get Nestri up and running on your system.
> \[!IMPORTANT]
>
@@ -152,12 +152,12 @@ head /dev/urandom | LC_ALL=C tr -dc 'a-zA-Z0-9' | head -c 16
This command generates a random 16-character string. Be sure to note this string carefully, as you'll need it for the next step.
#### Step 3: Launch the Netris Server
#### Step 3: Launch the Nestri Server
With your SESSION_ID ready, insert it into the command below, replacing `<copy here>` with your actual session ID. Then, run the command to start the Netris server:
With your SESSION_ID ready, insert it into the command below, replacing `<copy here>` with your actual session ID. Then, run the command to start the Nestri server:
```
docker run --gpus all --device=/dev/dri --name netris -it --entrypoint /bin/bash -e SESSION_ID=<copy here> -v "$(pwd)":/game -p 8080:8080/udp --cap-add=SYS_NICE --cap-add=SYS_ADMIN ghcr.io/netrisdotme/netris/server:nightly
docker run --gpus all --device=/dev/dri --name nestri -it --entrypoint /bin/bash -e SESSION_ID=<copy here> -v "$(pwd)":/game -p 8080:8080/udp --cap-add=SYS_NICE --cap-add=SYS_ADMIN ghcr.io/nestriness/nestri/server:nightly
```
> \[!TIP]
@@ -166,7 +166,7 @@ docker run --gpus all --device=/dev/dri --name netris -it --entrypoint /bin/bash
#### Step 4: Configure the Game within the Container
After executing the previous command, you'll be in a new shell within the container (example: `netris@3f199ee68c01:~$`). Perform the following checks:
After executing the previous command, you'll be in a new shell within the container (example: `nestri@3f199ee68c01:~$`). Perform the following checks:
1. Verify the game is mounted by executing `ls -la /game`. If not, exit and ensure you've correctly mounted the game directory as a volume.
2. Then, start the Netris server by running `/etc/startup.sh > /dev/null &`.
@@ -175,15 +175,15 @@ After executing the previous command, you'll be in a new shell within the contai
Wait for the `.X11-unix` directory to appear in `/tmp` (check with `ls -la /tmp`). Once it appears, you're ready to launch your game.
- With Proton-GE: `netris-proton -pr <game>.exe`
- With Wine: `netris-proton -wr <game>.exe`
- With Proton-GE: `nestri-proton -pr <game>.exe`
- With Wine: `nestri-proton -wr <game>.exe`
#### Step 6: Begin Playing
Finally, construct the play URL with your session ID:
```
echo "https://netris.me/play/$SESSION_ID"
echo "https://nestri.io/play/$SESSION_ID"
```
Navigate to this URL in your browser, click on the page to capture your mouse pointer, and start playing!
@@ -202,7 +202,7 @@ Navigate to this URL in your browser, click on the page to capture your mouse po
[share-reddit-shield]: https://img.shields.io/badge/-share%20on%20reddit-black?labelColor=black&logo=reddit&logoColor=white&style=flat-square
[share-reddit-link]: https://www.reddit.com/submit?title=Hey%2C%20check%20out%20this%20Github%20repository.%20It%20is%20an%20open-source%20self-hosted%20Geforce%20Now%20alternative.&url=https%3A%2F%2Fgithub.com%2Fwanjohiryan%2Fnetris
[image-overview]: assets/banner.png
[website-link]: https://netris.me
[website-link]: https://nestri.io
[neko-url]: https://github.com/m1k1o/neko
[image-star]: assets/star-us.png
[moq-github-url]: https://quic.video

View File

@@ -256,13 +256,13 @@ RUN apt-get update -y \
&& chmod +x ./build.sh ./install.sh \
&& ./install.sh
#Try building shadow-cast
RUN git clone https://github.com/gmbeard/shadow-cast && cd shadow-cast \
&& mkdir ./build && cd ./build \
&& cmake -DCMAKE_CXX_FLAGS="-Wno-error=unused-result" -DCMAKE_C_FLAGS="-Wno-error=unused-result" .. \
&& cmake --build . -- -j$(nproc) \
&& chmod +x ./install-helper.sh \
&& ./install-helper.sh
# #Try building shadow-cast
# RUN git clone https://github.com/gmbeard/shadow-cast && cd shadow-cast \
# && mkdir ./build && cd ./build \
# && cmake -DCMAKE_CXX_FLAGS="-Wno-error=unused-result" -DCMAKE_C_FLAGS="-Wno-error=unused-result" .. \
# && cmake --build . -- -j$(nproc) \
# && chmod +x ./install-helper.sh \
# && ./install-helper.sh
RUN apt-get update -y; \
apt-get upgrade -y; \

View File

@@ -1,6 +1,6 @@
#This contains all the necessary libs for the server to work.
#NOTE: KEEP THIS IMAGE AS LEAN AS POSSIBLE.
FROM ghcr.io/wanjohiryan/netris/base:nightly
FROM ghcr.io/nestriness/nestri/base:nightly
ENV TZ=UTC \
SIZEW=1920 \
@@ -32,15 +32,15 @@ RUN apt-get update -y \
# && chmod 755 /usr/bin/winetricks \
# && curl -fsSL -o /usr/share/bash-completion/completions/winetricks "https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks.bash-completion"
#Install Proton
COPY .scripts/proton /usr/bin/netris-proton
RUN chmod 755 /usr/bin/netris-proton
#Install Proton
COPY .scripts/proton /usr/bin/nestri-proton
RUN chmod 755 /usr/bin/nestri-proton
ARG USERNAME=netris \
ARG USERNAME=nestri \
PUID=1000 \
PGID=1000 \
UMASK=000 \
HOME="/home/netris"
HOME="/home/nestri"
ENV XDG_RUNTIME_DIR=/tmp/runtime-1000
@@ -68,8 +68,8 @@ RUN apt-get update && apt-get install --no-install-recommends -y \
&& echo "${USERNAME} ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers \
&& ln -snf "/usr/share/zoneinfo/$TZ" /etc/localtime && echo "$TZ" > /etc/timezone
COPY --from=ghcr.io/wanjohiryan/netris/warp:nightly /usr/bin/warp /usr/bin/
COPY --from=ghcr.io/netrisdotme/netris/warp-input:nightly /usr/bin/warp-input /usr/bin/warp-input
COPY --from=ghcr.io/nestriness/nestri/warp:nightly /usr/bin/warp /usr/bin/
COPY --from=ghcr.io/nestriness/nestri/warp-input:nightly /usr/bin/warp-input /usr/bin/warp-input
RUN chmod +x /usr/bin/warp /usr/bin/warp-input
COPY .scripts /etc/
RUN chmod 755 /etc/supervisord.conf /etc/entrypoint.sh /etc/startup.sh