Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
70 commits
Select commit Hold shift + click to select a range
9c4c9cd
Updated Items November 2025
FaiThiX Nov 11, 2025
1ce3c87
Added CCTV for Cargo Ship and Ferry Terminal
FaiThiX Nov 11, 2025
9901121
Updated items.json with build-in script
FaiThiX Nov 12, 2025
86e2325
add choices to the context menu - bugfix
FaiThiX Nov 15, 2025
1954e29
Merge branch 'alexemanuelol:master' into master
FaiThiX Nov 15, 2025
b8a0d91
Merge branch 'alexemanuelol:master' into master
FaiThiX Nov 21, 2025
5f95f5a
fix vendingMachines sellorders
FaiThiX Nov 21, 2025
6430360
added detailed market ingamecommand
FaiThiX Nov 21, 2025
3783a30
Merge branch 'alexemanuelol:master' into market-rework
FaiThiX Nov 21, 2025
2e5b7ad
Update Docker publish workflow permissions
FaiThiX Nov 21, 2025
c3eada1
Merge branch 'master' of https://github.com/faithix/rustplusplus
FaiThiX Nov 21, 2025
484c88c
Remove permissions from docker-publish.yml
FaiThiX Nov 21, 2025
f43bdd6
Update Docker login action to use GH_PAT
FaiThiX Nov 21, 2025
0e611a7
add market searchlist and item emoji support
FaiThiX Nov 21, 2025
3347b4c
Merge branch 'market-rework' of https://github.com/faithix/rustpluspl…
FaiThiX Nov 21, 2025
a423e7c
Merge pull request #1 from FaiThiX/market-rework
FaiThiX Nov 21, 2025
a4df694
Implement atomic write pattern for instance files (Fixes potential co…
FaiThiX Nov 23, 2025
b1b3f81
Merge pull request #2 from FaiThiX/fix-crash-destroy-instance-file
FaiThiX Nov 23, 2025
54bc733
bump version
FaiThiX Nov 23, 2025
5daeda6
Merge branch 'master' of https://github.com/faithix/rustplusplus
FaiThiX Nov 23, 2025
93fb7ff
Fix Discord Voice
FaiThiX Jan 27, 2026
5a8b8a2
Bump version to 1.23.2
FaiThiX Jan 27, 2026
412ac4c
fix for locations on map. hopefully as expected xD
FaiThiX Feb 4, 2026
a2d2c2c
update to 1.23.3
FaiThiX Feb 4, 2026
8306867
Refactor docker-compose for rustplusbot service
FaiThiX Feb 5, 2026
c39d5d0
update items.json for naval update
FaiThiX Feb 5, 2026
e66b4df
update readme.md
FaiThiX Feb 5, 2026
21adb48
update version tag
FaiThiX Feb 5, 2026
1ca156c
Merge branch 'master' of https://github.com/FaiThiX/rustplusplus
FaiThiX Feb 5, 2026
5ad195a
Added some basic deep sea detection
FaiThiX Feb 10, 2026
ba5654f
update info embed for deep sea and add getCommandDeepSea
FaiThiX Feb 12, 2026
75ad23e
update keywords
FaiThiX Feb 12, 2026
f50362b
remove deep sea egress time (never used)
FaiThiX Feb 12, 2026
b9df306
updated deep sea detection, fixed vendor event
FaiThiX Feb 12, 2026
f865a2f
add ingame/discord command for deep sea
FaiThiX Feb 12, 2026
bd1f9ef
added some missing translations
FaiThiX Feb 12, 2026
59be03b
update version
FaiThiX Feb 12, 2026
eddb2f0
Merge pull request 'Deep Sea update: detection, commands, history tra…
Feb 12, 2026
891dee0
fixed missing keys in instance file if server already exist
FaiThiX Feb 12, 2026
db0c51d
Bump version to 1.24.1 in package.json
FaiThiX Feb 12, 2026
f5a6832
fix for deep sea
FaiThiX Feb 13, 2026
4158bba
remove console.log leftovers
FaiThiX Feb 13, 2026
a85164d
update version
FaiThiX Feb 13, 2026
18a45d5
fixed wrong default time for deep sea respawn time
FaiThiX Feb 14, 2026
d4b292f
Add German translations for deep sea features
HaxXorHardy Feb 24, 2026
3ad416b
Merge pull request #3 from HaxXorHardy/patch-1
FaiThiX Mar 9, 2026
c7038e2
Update docker-publish.yml
FaiThiX Mar 9, 2026
447337c
Merge pull request #4 from FaiThiX/FaiThiX-patch-1
FaiThiX Mar 9, 2026
1aba771
add automatic translate with deepl
FaiThiX Mar 10, 2026
a2161ad
Merge pull request #5 from FaiThiX/feature-auto-translate
FaiThiX Mar 10, 2026
e6c3a3b
Update path to translation script in workflow
FaiThiX Mar 10, 2026
84d50b0
Merge pull request #6 from FaiThiX/feature-auto-translate
FaiThiX Mar 10, 2026
e0a98ca
Update GitHub Actions workflow for translation
FaiThiX Mar 10, 2026
e71dd83
Update Docker workflow to trigger on push events
FaiThiX Mar 10, 2026
e63d43b
update deepsea to march update
FaiThiX Mar 10, 2026
10d3ee0
minor fixes and text for new time ranged spawning of deepsea
FaiThiX Mar 10, 2026
2e33a5d
Remove condition for forked repositories in workflow
FaiThiX Mar 10, 2026
41db4cd
chore(i18n): update translations
github-actions[bot] Mar 10, 2026
e583424
Update workflow to trigger on all pull requests
FaiThiX Mar 10, 2026
2f9f69c
Update pull request trigger paths in workflow
FaiThiX Mar 10, 2026
5933039
Merge pull request #7 from FaiThiX/deepsea-changes
FaiThiX Mar 10, 2026
b5511c6
add validation checks for adding players to the tracker.
FaiThiX Mar 10, 2026
11617ef
add Whitelist feature
FaiThiX Mar 10, 2026
aada9f4
chore(i18n): update translations
github-actions[bot] Mar 10, 2026
ffb9520
Merge pull request #16 from FaiThiX/feat/whitelist
FaiThiX Mar 10, 2026
ce703c2
chore(i18n): update translations
github-actions[bot] Mar 10, 2026
e93d587
Merge pull request #17 from FaiThiX/fix-tracker-input
FaiThiX Mar 10, 2026
e177617
update rustlabs script to work again
FaiThiX Mar 11, 2026
e4fe630
update rustlabs static files
FaiThiX Mar 11, 2026
990adfe
update items.json
FaiThiX Mar 11, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 9 additions & 18 deletions .github/workflows/docker-publish.yml
Original file line number Diff line number Diff line change
@@ -1,28 +1,25 @@
name: Docker

# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.

on:
push:
branches: [ master ]
# Publish semver tags as releases.
tags: [ 'v*.*.*' ]
branches:
- master
tags:
- "v*.*.*"
pull_request:
branches: [ main ]
branches:
- master

env:
# Use docker.io for Docker Hub if empty
REGISTRY: ghcr.io
# github.repository as <account>/<repo>
IMAGE_NAME: ${{ github.repository }}

concurrency:
group: docker-${{ github.ref }}
cancel-in-progress: true

jobs:
build:

runs-on: ubuntu-latest
permissions:
contents: read
Expand All @@ -32,8 +29,6 @@ jobs:
- name: Checkout repository
uses: actions/checkout@v4

# Login against a Docker registry except on PR
# https://github.com/docker/login-action
- name: Log into registry ${{ env.REGISTRY }}
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
Expand All @@ -42,16 +37,12 @@ jobs:
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

# Extract metadata (tags, labels) for Docker
# https://github.com/docker/metadata-action
- name: Extract Docker metadata
id: meta
uses: docker/metadata-action@v5
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}

# Build and push Docker image with Buildx (don't push on PR)
# https://github.com/docker/build-push-action
- name: Build and push Docker image
uses: docker/build-push-action@v6
with:
Expand Down
59 changes: 59 additions & 0 deletions .github/workflows/translate-language.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
name: Translate language files

on:
pull_request:
branches:
- master

permissions:
contents: write
pull-requests: write

concurrency:
group: translate-pr-${{ github.event.pull_request.number }}
cancel-in-progress: true

jobs:
translate-language:
runs-on: ubuntu-latest

steps:
- name: Checkout PR branch
uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.ref }}
fetch-depth: 0

- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: "3.11"

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install requests

- name: Run translation script
env:
DEEPL_API_KEY: ${{ secrets.DEEPL_API_KEY }}
run: |
python src/external/translate_language_json.py \
--source src/languages/en.json \
--output-dir src/languages \
--provider deepl

- name: Commit translation changes
run: |
git config user.name "github-actions[bot]"
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"

git add src/languages/*.json

if git diff --cached --quiet; then
echo "No translation changes to commit."
exit 0
fi

git commit -m "chore(i18n): update translations"
git push origin HEAD:${{ github.event.pull_request.head.ref }}
11 changes: 6 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,11 @@
</p>

<p align="center">
<a href="https://discord.gg/vcrKbKVAbc"><img src="https://img.shields.io/badge/Discord-Alexemanuel-%237289DA?style=flat&logo=discord" alt="discord"/></a>
<a href="https://www.reddit.com/user/Alexemanuelol"><img src="https://img.shields.io/badge/Reddit-Alexemanuelol-FF4500?style=flat&logo=reddit" alt="reddit"/></a>
<a href="https://discord.gg/vcrKbKVAbc"><img src="https://img.shields.io/badge/Discord-Rust++-%237289DA?style=flat&logo=discord" alt="discord"/></a>
<a href="https://ko-fi.com/alexemanuelol"><img src="https://img.shields.io/badge/Donate%20a%20Coffee-alexemanuelol-yellow?style=flat&logo=buy-me-a-coffee" alt="donate on ko-fi"/></a>

<p align="center">
<a href="https://crowdin.com/project/rustplusplus"><img src="https://badges.crowdin.net/rustplusplus/localized.svg" alt="donate on ko-fi"/></a>
<a href="https://crowdin.com/project/rustplusplus"><img src="https://badges.crowdin.net/rustplusplus/localized.svg" alt="Crowdin"/></a>
</p>

<p align="center">
Expand Down Expand Up @@ -42,7 +41,7 @@ A NodeJS Discord Bot that uses the [rustplus.js](https://github.com/liamcottle/r

## **Documentation**

> Documentation can be found [here](https://github.com/alexemanuelol/rustplusplus/blob/master/docs/documentation.md). The documentation explains the features as well as `how to setup the bot`, so make sure to take a look at it 😉
> Documentation can be found [here](https://github.com/faithix/rustplusplus/blob/master/docs/documentation.md). The documentation explains the features as well as `how to setup the bot`, so make sure to take a look at it 😉

## **Credentials**

Expand All @@ -69,7 +68,7 @@ or

## **Running via docker**

$ docker run --rm -it -v ${pwd}/credentials:/app/credentials -v ${pwd}/instances:/app/instances -v ${pwd}/logs:/app/logs -e RPP_DISCORD_CLIENT_ID=111....1111 -e RPP_DISCORD_TOKEN=token --name rpp ghcr.io/alexemanuelol/rustplusplus
$ docker run --rm -it -v ${pwd}/credentials:/app/credentials -v ${pwd}/instances:/app/instances -v ${pwd}/logs:/app/logs -e RPP_DISCORD_CLIENT_ID=111....1111 -e RPP_DISCORD_TOKEN=token --name rpp ghcr.io/faithix/rustplusplus

or

Expand All @@ -82,3 +81,5 @@ Make sure you use the correct values for DISCORD_CLIENT_ID as well as DISCORD_TO
**liamcottle**@GitHub - for the [rustplus.js](https://github.com/liamcottle/rustplus.js) library.
<br>
**.Vegas.#4844**@Discord - for the awesome icons!
<br>
**alexemanuelol**@GitHub - for the Main Development of the [Rust++ Bot](https://github.com/alexemanuelol/rustPlusPlus).
24 changes: 12 additions & 12 deletions docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
version: '3.3'
services:
app:
volumes:
- ./credentials:/app/credentials
- ./instances:/app/instances
- ./logs:/app/logs
- ./maps:/app/maps
environment:
- RPP_DISCORD_CLIENT_ID=111....1111
- RPP_DISCORD_TOKEN=token
container_name: rpp
image: ghcr.io/alexemanuelol/rustplusplus
rustplusbot:
image: ghcr.io/faithix/rustplusplus:master
container_name: rustplusbot
environment:
- RPP_DISCORD_TOKEN=TOKEN
- RPP_DISCORD_CLIENT_ID=CLIENT_ID
volumes:
- ./logs:/app/logs
- ./instances:/app/instances
- ./credentials:/app/credentials
- ./maps:/app/maps
restart: unless-stopped
27 changes: 26 additions & 1 deletion docs/commands.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ Slash Command | Description
[**/credentials**](commands.md#credentials) | Set/Clear the Credentials for the user account.
[**/decay**](commands.md#decay) | Display the decay time of an item.
[**/help**](commands.md#help) | Display help message.
[**/ingameaccess**](commands.md#ingameaccess) | Set in-game command access mode.
[**/item**](commands.md#item) | Get the details of an item.
[**/leader**](commands.md#leader) | Give or take the leadership from/to a team member.
[**/map**](commands.md#map) | Get the currently connected server map image.
Expand All @@ -30,6 +31,7 @@ Slash Command | Description
[**/switch**](commands.md#switch) | Operations on Smart Switches.
[**/upkeep**](commands.md#upkeep) | Get the upkeep cost of an item.
[**/uptime**](commands.md#uptime) | Display uptime of the bot and server.
[**/whitelist**](commands.md#whitelist) | Whitelist a user for in-game bot commands.
[**/voice**](commands.md#voice) | Operations on Voice Feature.


Expand Down Expand Up @@ -79,6 +81,17 @@ Subcommand | Options | Description | Required
![Discord Slash Command blacklist Image](images/slash_commands/blacklist.png)


## **/ingameaccess**

> **Set in-game command access mode.**

Subcommand | Options | Description | Required
---------- | ------- | ----------- | --------
`mode` | &nbsp; | Set access mode for in-game commands. | &nbsp;
&nbsp; | `mode` | Select blacklist or whitelist mode. | `True`
`show` | &nbsp; | Show current in-game command access mode. | &nbsp;


## **/cctv**

> **Posts CCTV codes for a monument.**
Expand Down Expand Up @@ -329,6 +342,18 @@ Subcommand | Options | Description | Required

![Discord Slash Command uptime Image](images/slash_commands/uptime.png)

## **/whitelist**

> **Whitelist a user for in-game bot commands.**

Subcommand | Options | Description | Required
---------- | ------- | ----------- | --------
`add` | &nbsp; | Add user to the whitelist. | &nbsp;
&nbsp; | `steamid` | The steamid of the user. | `True`
`remove` | &nbsp; | Remove user from the whitelist. | &nbsp;
&nbsp; | `steamid` | The steamid of the user. | `True`
`show` | &nbsp; | Show whitelisted users. | &nbsp;

## **/voice**

> **Operations on Voice Feature.**
Expand Down Expand Up @@ -729,4 +754,4 @@ Subcommand | Description | Required
> **Get the time since it was wiped.**
<br>Command: `!wipe`

![In-Game Command wipe Image](images/ingame_commands/wipe_ingame.png)
![In-Game Command wipe Image](images/ingame_commands/wipe_ingame.png)
4 changes: 3 additions & 1 deletion docs/full_list_features.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
- **/credentials** - Setup Credentials.
- **/decay** - Display the decay time of an item.
- **/help** - Get help message.
- **/ingameaccess** - Set in-game command access mode.
- **/item** - Get the details of an item.
- **/leader** - Transfer leadership.
- **/map** - Display the In-Game Map.
Expand All @@ -22,6 +23,7 @@
- **/switch** - Change image of paired Storage Monitors.
- **/upkeep** - Get the upkeep cost of an item.
- **/uptime** - Get the current uptime for rustplusplus.
- **/whitelist** - Whitelist a user for in-game bot commands.
- **/voice** - Let rustplusplus join voicechat.

## In-Game Commands
Expand Down Expand Up @@ -100,4 +102,4 @@
- Communicate with teammates from In-Game to Discord and vice versa.
- Get activity information in the `activity` Text-Channel on Discord. Information such as Smart Devices not reachable, Teammate connect/disconnect/leave/join/death, Smart Alarms notify when triggered, Server went offline/online, Map Wipe Detection, Storage Monitor Decay Notification, Tracker notifications etc...
- Create Battlemetrics Trackers to track players or groups.
- Get Facepunch news in Discord.
- Get Facepunch news in Discord.
45 changes: 24 additions & 21 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "rustplusplus",
"version": "1.22.0",
"version": "1.24.2",
"description": "A NodeJS Discord Bot that uses the rustplus.js library to utilize the power of the Rust+ Companion App with additional Quality-of-Life features.",
"main": "index.ts",
"scripts": {
Expand All @@ -10,18 +10,18 @@
},
"repository": {
"type": "git",
"url": "https://github.com/alexemanuelol/rustplusplus.git"
"url": "https://github.com/faithix/rustplusplus.git"
},
"author": "Alexemanuelol",
"author": "FaiThiX forked from Alexemanuelol",
"license": "SEE LICENSE IN LICENSE",
"bugs": {
"url": "https://github.com/alexemanuelol/rustplusplus/issues"
"url": "https://github.com/faithix/rustplusplus/issues"
},
"homepage": "https://github.com/alexemanuelol/rustplusplus#readme",
"dependencies": {
"@discordjs/rest": "^2.5.1",
"@discordjs/voice": "^0.18.0",
"@formatjs/intl": "^2.6.9",
"homepage": "https://github.com/faithix/rustplusplus#readme",
"dependencies": {
"@discordjs/rest": "^2.5.1",
"@discordjs/voice": "^0.18.0",
"@formatjs/intl": "^2.6.9",
"@liamcottle/push-receiver": "^0.0.4",
"@liamcottle/rustplus.js": "git+https://github.com/alexemanuelol/rustplus.js.git#089cfd3db1b04709911948bce669273139c6a124",
"axios": "^1.3.4",
Expand All @@ -30,16 +30,19 @@
"discord.js": "^14.21.0",
"ffmpeg-static": "^5.1.0",
"gm": "^1.25.0",
"jimp": "^0.22.7",
"libsodium-wrappers": "^0.7.11",
"lodash": "^4.17.21",
"translate": "^1.4.1",
"ts-node": "^10.9.2",
"typescript": "^5.8.3",
"winston": "^3.8.2"
},
"resolutions": {
"jpeg-js": "0.4.4",
"protobufjs": "7.2.4"
"jimp": "^0.22.7",
"libsodium-wrappers": "^0.7.11",
"lodash": "^4.17.21",
"translate": "^1.4.1",
"ts-node": "^10.9.2",
"typescript": "^5.8.3",
"winston": "^3.8.2"
},
"devDependencies": {
"playwright-core": "^1.58.2"
},
"resolutions": {
"jpeg-js": "0.4.4",
"protobufjs": "7.2.4"
}
}
}
Loading
Loading