Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
72b50ca
Update rustplus.proto
sjaanus Apr 7, 2025
cc9aa9a
feat: add real-time in-game time display with day/night indicator
JawadYzbk Jul 19, 2025
cd0efff
feat: add new item images and update existing ones
JawadYzbk Aug 7, 2025
c0232cd
feat(localization): add arabic translations for monument names
JawadYzbk Aug 14, 2025
b38dd19
feat(items): add new items and update descriptions for existing ones
JawadYzbk Oct 3, 2025
e77b63a
feat(vending-machine-search): add buy/sell toggle and improve UI styling
JawadYzbk Oct 5, 2025
1b598c1
feat(map): add traveling vendor marker and standardize icon sizes
JawadYzbk Oct 5, 2025
8e974e5
feat(map): add traveling vendor support and improve UI components
JawadYzbk Oct 5, 2025
db71511
Merge branch 'master' of https://github.com/jawadyazbek313/atlas-for-…
JawadYzbk Oct 5, 2025
9963123
feat(VendingMachineSearch): add sorting and zero stock filter functio…
JawadYzbk Oct 6, 2025
673aeaf
feat(map): add grid overlay with labels for better navigation
JawadYzbk Oct 6, 2025
c8b33ec
docs: update README with new features and recent improvements
JawadYzbk Oct 6, 2025
9936d93
update realease and repo links
JawadYzbk Oct 6, 2025
f5f1515
feat(map): add patrol helicopter marker and update vendor type
JawadYzbk Oct 6, 2025
97145e2
docs: update README with new map features
JawadYzbk Oct 6, 2025
0388a56
fix(map): make grid elements non-interactive to prevent unwanted clicks
JawadYzbk Oct 6, 2025
f51b7eb
now patrol heli and traveling vendor work normally and can be seen on…
JawadYzbk Oct 7, 2025
3d93d20
fixed the big size of cargo, patrol heli and chinook with keeping rot…
JawadYzbk Oct 7, 2025
10b4338
fixed rustVendingMachines not inside computed
JawadYzbk Oct 7, 2025
707313d
feat(RustPlus): add dynamic marker refresh for moving entities
JawadYzbk Oct 7, 2025
a69175e
Update README.md
JawadYzbk Oct 9, 2025
d9f3704
Update README.md
JawadYzbk Oct 9, 2025
73b4226
Update README.md
JawadYzbk Oct 9, 2025
69bb0fc
feat(map): add event icons dock and vending machine status indicators
JawadYzbk Oct 10, 2025
215f672
Merge branch 'master' of https://github.com/jawadyazbek313/atlas-for-…
JawadYzbk Oct 10, 2025
1c56889
modified: package.json
JawadYzbk Oct 11, 2025
6f9f533
Update README.md
JawadYzbk Oct 14, 2025
7b5a4c8
Update README.md
JawadYzbk Oct 15, 2025
4ae2f3f
Replace old image with new interactive map screenshot
JawadYzbk Oct 15, 2025
905fdb9
feat: rebrand application from Atlas to RustLink
JawadYzbk Oct 15, 2025
fd4afef
Merge branch 'master' of https://github.com/JawadYzbk/atlas-for-rust
JawadYzbk Oct 15, 2025
988a9f7
.
JawadYzbk Oct 15, 2025
c068428
refactor: update logo, github links and fix method formatting
JawadYzbk Oct 15, 2025
25d1196
Update README.md
JawadYzbk Oct 15, 2025
6889eeb
chore: update project name references to rustLink and bump version to…
JawadYzbk Oct 15, 2025
81616b6
Merge branch 'master' of https://github.com/JawadYzbk/atlas-for-rust
JawadYzbk Oct 15, 2025
f9cf9e6
Enhance README with GitHub badges
JawadYzbk Oct 15, 2025
248dfe1
feat(notifications): add notification center with persistent storage
JawadYzbk Oct 17, 2025
facddc0
Merge branch 'master' of https://github.com/JawadYzbk/rustLink
JawadYzbk Oct 17, 2025
aba7da8
feat(NotificationCenter): add click outside handler to close notifica…
JawadYzbk Oct 17, 2025
34d7ffd
Update README.md
JawadYzbk Oct 18, 2025
9fe4b9f
feat(notifications): enhance server pairing notifications and modal
JawadYzbk Oct 18, 2025
59d7395
feat(entities): add entity control and pairing functionality
JawadYzbk Oct 19, 2025
21bbc27
Merge branch 'master' of https://github.com/JawadYzbk/rustLink
JawadYzbk Oct 19, 2025
37ec997
version updated
JawadYzbk Oct 19, 2025
c34e543
Update README.md
JawadYzbk Oct 19, 2025
b59b805
feat(map): add player and generic marker SVG assets
JawadYzbk Oct 20, 2025
504244c
Merge branch 'master' of https://github.com/JawadYzbk/rustLink
JawadYzbk Oct 20, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
.DS_Store
node_modules
/dist

/.v2

# local env files
.env.local
Expand Down
93 changes: 72 additions & 21 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,22 +1,29 @@
<p align="center">
<a href="https://github.com/liamcottle/atlas-for-rust"><img src="./public/icon_rounded.png" width="150"></a>
<a href="https://github.com/jawadyzbk/rustLink"><img src="./public/icon_rounded.png" width="150"></a>
<br>
<a href="https://github.com/liamcottle/rustLink">Big thanks for Liam cottle for all his efforts developing the Base App</a>

</p>

<h2 align="center">Atlas for Rust</h2>
<h2 align="center">RustLink (Rust+ Unofficial alternative for PC )</h2>
<h3 align="center">Star my repo for more updates <br> </h2>

[![Star RustLink](https://img.shields.io/badge/⭐_Star%20RustLink-181717?style=for-the-badge&logo=github)](https://github.com/JawadYzbk/rustLink)
[![GitHub stars](https://img.shields.io/github/stars/JawadYzbk/rustLink?style=for-the-badge&logo=github)](https://github.com/JawadYzbk/rustLink/stargazers)





<p align="center">
<a href="https://discord.gg/APQSQZNV7t"><img src="https://img.shields.io/badge/Discord-Liam%20Cottle's%20Discord-%237289DA?style=flat&logo=discord" alt="discord"/></a>
<a href="https://twitter.com/liamcottle"><img src="https://img.shields.io/badge/Twitter-@liamcottle-%231DA1F2?style=flat&logo=twitter" alt="twitter"/></a>
<br/>
<a href="https://ko-fi.com/liamcottle"><img src="https://img.shields.io/badge/Donate%20a%20Coffee-liamcottle-yellow?style=flat&logo=buy-me-a-coffee" alt="donate on ko-fi"/></a>
<a href="./donate.md"><img src="https://img.shields.io/badge/Donate%20Bitcoin-bc1qy22smke8n4c54evdxmp7lpy9p0e6m9tavtlg2q-%23FF9900?style=flat&logo=bitcoin" alt="donate bitcoin"/></a>
</p>

## What is Atlas

Atlas is an **unofficial** interactive map experience for [Rust](https://rust.facepunch.com/). It uses the same websocket protocol that the official [Rust+ Companion app](https://rust.facepunch.com/companion) uses to communicate with the Rust game servers.
## What is RustLink

RustLink is an **unofficial** interactive map experience for [Rust](https://rust.facepunch.com/). It uses the same websocket protocol that the official [Rust+ Companion app](https://rust.facepunch.com/companion) uses to communicate with the Rust game servers.

<img width="1279" height="992" alt="image" src="https://github.com/user-attachments/assets/c5961f2a-f393-4508-9f8d-9cf211889467" />


<img src="./docs/map.png">

## Features

Expand All @@ -26,16 +33,60 @@ Atlas is an **unofficial** interactive map experience for [Rust](https://rust.fa
- Chinook
- Explosions
- Vending Machines
- Patrol Helicopters
- Traveling Vendors
- Team Members
- **Enhanced Grid System**
- Dynamic grid overlay with 150m squares for accurate positioning
- Grid labels with coordinate system (A1, B2, etc.) for easy location reference
- Smart zoom-based visibility - grid appears at zoom level 2 and above
- Adaptive label sizing that scales with zoom level for optimal readability
- Customizable grid line thickness and color (black lines for better visibility)
- Dynamic spacing and margins that adjust based on zoom level
- **Advanced Vending Machine Search & Shop Interface**
- Enhanced search functionality with real-time filtering
- Buy/Sell order type toggle for comprehensive market analysis
- Advanced sorting options (by name, stock, and price)
- Zero stock filter toggle to hide out-of-stock items
- Modern UI with gradient headers and improved styling
- Empty state indicators for better user experience
- Redesigned shop contents with modern card-based layout
- Improved item display with stock indicators and hover effects
- **Traveling Vendor Support**
- Added support for traveling vendor markers on the map
- Standardized map marker icon sizes for consistency
- Shows realtime server stats
- Current player count
- How long since last wipe
- Display real-time in-game time with day/night indicator
- Send and Receive realtime Team Chat messages
- Search items for sale in Vending Machines across the map
- Supports "Pairing" with Rust Servers from the in game menu
- Supports adding Rust servers manually without using the in game pairing menu
- Useful if you run your own server and have access to server files

## Recent Improvements

### Grid System Enhancements
- **Accurate Grid Positioning**: Grid now properly aligns with Rust's 150m coordinate system
- **Improved Visibility**: Grid lines changed to black color with optimized thickness (0.5px) for better contrast
- **Smart Label Management**: Grid labels (A1, B2, etc.) are hidden at minimum zoom and scale dynamically with zoom level
- **Enhanced Spacing**: Dynamic margins and padding that provide optimal spacing at different zoom levels
- **Performance Optimized**: Grid rendering optimized for smooth interaction across all zoom levels

### Vending Machine & Shop Enhancements
- **Advanced Search & Filtering**: Implemented comprehensive search with buy/sell toggle, sorting by name/stock/price, and zero stock filtering
- **Modern UI Design**: Redesigned vending machine search and contents with gradient headers, card-based layouts, and improved visual hierarchy
- **Enhanced User Experience**: Added empty state indicators, hover effects, and smooth transitions for better interaction
- **Market Analysis Tools**: Buy/sell order type selection for comprehensive market overview and price comparison

### User Experience Improvements
- **Zoom-Responsive Design**: All grid elements adapt intelligently to the current zoom level
- **Better Readability**: Font sizes and spacing automatically adjust for optimal visibility
- **Cleaner Interface**: Grid elements remain unobtrusive while providing essential positioning information
- **Smooth Interactions**: Enhanced transitions and hover effects throughout the interface
- **Intuitive Controls**: Improved form controls and toggle switches for better usability

## Features to Implement

- Map
Expand All @@ -44,22 +95,22 @@ Atlas is an **unofficial** interactive map experience for [Rust](https://rust.fa
- Pair with Smart Devices
- View list of Smart Devices per server
- User could place custom markers on map showing where Smart Alarms are triggered
- Atlas Auto Updater, currently users will need to update manually from GitHub releases
- RustLink Auto Updater, currently users will need to update manually from GitHub releases

## How to Install

- Download the latest installer from [Releases](https://github.com/liamcottle/atlas-for-rust/releases)
- After downloading, run `AtlasForRust-x.y.z-win.exe`
- Connect with Rust+ from the Atlas welcome screen
- Download the latest installer from [Releases](https://github.com/jawadyzbk/rustLink/releases)
- After downloading, run `RustLink-x.y.z-win.exe`
- Connect with Rust+ from the RustLink welcome screen
- Pair with your Rust server from the in game menu

## How to build for development

Download and Install Dependencies

```
git clone https://github.com/liamcottle/atlas-for-rust.git
cd atlas-for-rust
git clone https://github.com/jawadyzbk/rustLink.gith
cd rustLink
npm install
```

Expand All @@ -71,20 +122,20 @@ npm run electron:serve

## Build for Mac, Windows and Linux

At this stage, GitHub actions only builds and releases Windows versions of Atlas. However, if you want to run Atlas on Mac or Linux, you can use the command below.
At this stage, GitHub actions only builds and releases Windows versions of RustLink. However, if you want to run RustLink on Mac or Linux, you can use the command below.

```
npm run electron:build -- --mac --win --linux
```

## Updating Rust Assets

Atlas uses images and metadata from the Rust game files. These can be updated with the [update_assets.js](./update_assets.js) script.
RustLink uses images and metadata from the Rust game files. These can be updated with the [update_assets.js](./update_assets.js) script.

```shell
node update_assets.js "<drive>:\SteamLibrary\steamapps\common\Rust"
```

## Contributing

If you have a feature request, or find a bug with Atlas, please open an issue here on GitHub.
If you have a feature request, or find a bug with RustLink, please open an issue here on GitHub.
31 changes: 26 additions & 5 deletions docs/index.html
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<html style="scroll-behavior: smooth;">
<head>
<title>Atlas for Rust</title>
<title>RustLink</title>
<link href="https://unpkg.com/tailwindcss@^2/dist/tailwind.min.css" rel="stylesheet">
</head>
<body>
Expand All @@ -13,7 +13,7 @@
<div class="text-center">
<img class="mx-auto my-4" src="icon_rounded.png" width="100" height="100"/>
<h1 class="text-4xl tracking-tight font-extrabold text-gray-900 sm:text-5xl md:text-6xl">
<span class="block text-grey-800">Atlas for Rust</span>
<span class="block text-grey-800">RustLink</span>
</h1>
<p class="my-4 max-w-md mx-auto text-base text-gray-600 sm:text-lg md:mt-5 md:text-xl md:max-w-3xl">
Atlas is an unofficial interactive map experience for Rust
Expand All @@ -25,7 +25,7 @@ <h1 class="text-4xl tracking-tight font-extrabold text-gray-900 sm:text-5xl md:t
</svg>
<span>Features</span>
</a>
<a href="https://github.com/liamcottle/atlas-for-rust" class="mx-1 my-2 w-full inline-flex items-center justify-center px-5 py-3 border border-transparent text-base font-medium rounded-md text-white bg-gray-500 hover:bg-gray-600 sm:w-auto">
<a href="https://github.com/JawadYzbk/rustLink" class="mx-1 my-2 w-full inline-flex items-center justify-center px-5 py-3 border border-transparent text-base font-medium rounded-md text-white bg-gray-500 hover:bg-gray-600 sm:w-auto">
<svg class="w-6 h-6 mr-2" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4"></path>
</svg>
Expand Down Expand Up @@ -97,6 +97,27 @@ <h3 class="mt-8 text-lg font-medium text-gray-900 tracking-tight">
</div>
</div>

<!-- in-game time -->
<div class="pt-6">
<div class="flow-root bg-gray-100 rounded-lg px-6 pb-8">
<div class="-mt-6">
<div>
<span class="inline-flex items-center justify-center p-3 bg-gray-500 rounded-md shadow-lg">
<svg class="w-6 h-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"></path>
</svg>
</span>
</div>
<h3 class="mt-8 text-lg font-medium text-gray-900 tracking-tight">
In-Game Time
</h3>
<p class="mt-5 text-base text-gray-500">
Display real-time in-game time with day/night indicator to track the server's time cycle.
</p>
</div>
</div>
</div>

<!-- team chat -->
<div class="pt-6">
<div class="flow-root bg-gray-100 rounded-lg px-6 pb-8">
Expand Down Expand Up @@ -186,8 +207,8 @@ <h3 class="mt-8 text-lg font-medium text-gray-900 tracking-tight">and more!</h3>
<div id="download" class="bg-gray-800">
<div class="max-w-2xl mx-auto text-center py-16 px-4 sm:py-20 sm:px-6 lg:px-8">
<h2 class="text-3xl font-extrabold text-white sm:text-4xl">Download Atlas</h2>
<p class="my-4 text-lg leading-6 text-gray-200">Atlas for Rust is free, and open source. If you would like to support my work, please consider donating via the links on GitHub.</p>
<a href="https://github.com/liamcottle/atlas-for-rust" class="mx-1 my-2 w-full inline-flex items-center justify-center px-5 py-3 border border-transparent text-base font-medium rounded-md text-gray-800 bg-white hover:bg-gray-50 sm:w-auto">
<p class="my-4 text-lg leading-6 text-gray-200">RustLink is free, and open source. If you would like to support my work, please consider donating via the links on GitHub.</p>
<a href="https://github.com/liamcottle/rustLink" class="mx-1 my-2 w-full inline-flex items-center justify-center px-5 py-3 border border-transparent text-base font-medium rounded-md text-gray-800 bg-white hover:bg-gray-50 sm:w-auto">
<svg class="w-6 h-6 mr-2" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4"></path>
</svg>
Expand Down
Binary file modified docs/map.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading