Skip to content

Commit a697b77

Browse files
committed
Updated README to properly reflect new project changes
1 parent b758510 commit a697b77

File tree

2 files changed

+163
-3
lines changed

2 files changed

+163
-3
lines changed

Diff for: README.md

+163-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,167 @@
1-
# PocketRelay Hooks
1+
# PocketRelay Embedded Client
2+
3+
![License](https://img.shields.io/github/license/PocketRelay/EmbeddedClient?style=for-the-badge)
4+
5+
[Discord Server (discord.gg/yvycWW8RgR)](https://discord.gg/yvycWW8RgR)
6+
7+
## Table of Contents
8+
9+
- [What](#what) What Pocket Relay Embedded client is
10+
- [Whats different](#whats-different) Whats different between this version and the previous client tool
11+
- [Whats been improved](#whats-been-improved) The improvements over the original tool
12+
- [Installation](#installation) The installation guide
13+
- [1. Download patch file](#1-download-patch-file)
14+
- [2. Open game folder](#2-open-game-folder)
15+
- [3. Rename official file](#3-rename-official-file)
16+
- [4. Patch game](#4-patch-game)
17+
- [5. Done](#5-done)
18+
- [Manually Building](#manually-building) Instructions for building manually
19+
- [Requirements](#requirements)
20+
- [1. Cloning sources](#1-cloning-sources)
21+
- [2. Adding rust target](#2-adding-rust-target)
22+
- [3. Building](#3-building)
23+
- [4. Done](#4-done)
24+
- [Credits](#credits) Credit sources
25+
- [License](#license) Project license
26+
27+
## 📌 EA / BioWare Notice
28+
29+
The **Pocket Relay** software in all its forms are in no way or form supported, endorsed, or provided by BioWare or Electronic Arts.
30+
31+
32+
## What
33+
34+
This is a new iteration of the **PocketRelay** client to allow you to connect to **Pocket Relay** servers (Mass Effect 3 private servers).
35+
36+
## Whats different
37+
38+
The previous version of the client required being run as administrator and required the user to patch the game using a [binkw32.dll](https://github.com/Erik-JS/masseffect-binkw32) file.
39+
40+
This new version skips the client step and rather than having the patch and client seperate (requiring the user to patch the game within the client). Instead this version embeds the client UI within a custom patch. This new version also patches hostname lookups which removes the need for running the program as admin because the program no longer needs to access the system hosts file.
41+
42+
With this new version the user simply replaces the binkw32.dll in their game folder and then whenever the game starts a little popup window will apear where the player can set the **Pocket Relay** server connection URL they would like to use.
43+
44+
![Start](assets/start.png)
45+
46+
> This also works for the official servers because either closing, or just ignoring this popup window will cause the game to just connect to the official servers instead
47+
48+
## Whats been improved
49+
- Program runs without admin permissions
50+
- The program is much safer and can be trusted much easier by the users now that it no longer requires any elevated permissions and doesn't modify any system files
51+
- This is also good for devices where the user doesn't have access to admin permissions
52+
- Improved logging
53+
- Much easier to diagnose issues with the client now that a dedicated console window can be used to display errors and debug information
54+
- Easier to use
55+
- Users no longer have to keep around a extra client utility, they just have to patch once then if they want to connect to a server they can enter its address and they're done
56+
- Supports disconnecting
57+
- You can disconnect from a private server while the game is running and connect back to the official servers (Note: If you've connected back to the official servers you will have to restart your game before you can re-connect to private servers)
58+
- Can close the window
59+
- The connection URL window can be closed after you've connected to the server and doesn't need to be kept open like the previous client tool (Note: You cannot close the terminal window or this will also close your game)
60+
61+
## Installation
62+
63+
As this version is still under development there is not currently an automated installer so you must install it yourself
64+
65+
### 1. Download patch file
66+
67+
Download the provided binkw32.dll file
68+
69+
> TODO: There will be a link here when stable releases are available
70+
71+
### 2. Open game folder
72+
73+
Head over to %GAME_FOLDER%/Binaries/Win32/
74+
75+
> This should be the same folder as your MassEffect3.exe file, with %GAME_FOLDER% being the actual folder your Mass Effect 3 game is stored in
76+
77+
### 3. Rename official file
78+
79+
> **Note**
80+
> If you have already patched your game previously using another tool that replaces the binkw32.dll (Any modding tools or custom launchers likely applied this patch) you will see there is already a file named binkw23.dll and you can skip this step
81+
82+
In this folder you should see a file named `binkw32.dll` this is the original dll provided with the game, rename this file to `binkw23.dll` (The naming is very important so make sure it matches)
83+
84+
### 4. Patch game
85+
86+
Copy the provided binkw32.dll file into in the same folder as `binkw23.dll`
87+
88+
> If you've patched your game previously as mentioned in step 3 you can choose to replace the current patched binkw32.dll file with this patch or you can rename that to some other name incase you would like to revert the patch
89+
90+
### 5. Done
91+
92+
Your game should now be patched and you should see the two additional windows pop up when your game starts
93+
94+
95+
## Manually Building
96+
97+
If you would like to manually build the dll you can follow the instructions below
98+
99+
### Requirements
100+
- Git (Optional, but required if you want to clone the repository rather than manually downloading, skip the git steps if you are not using it)
101+
- Rust, Cargo, Rustup (Requires minimum Rust version of 1.70 may not compile on older versions, Rustup is required to add the required i86 target)
102+
- MSVC / Microsoft C++ Build Tools https://learn.microsoft.com/en-us/windows/dev-environment/rust/setup
103+
104+
### 1. Cloning sources
105+
106+
Clone github repository (Skip this step if you have manually downloaded the sources)
107+
108+
```sh
109+
git clone https://github.com/PocketRelay/EmbeddedClient.git
110+
cd EmbeddedClient
111+
```
112+
113+
### 2. Adding rust target
114+
115+
You must add the following rust target to compile (The DLL requires being compiled for 32bit) you can add the target with the following rustup command
116+
117+
> This command only needs to be run for the first setup, and will be already installed for future builds
118+
119+
```sh
120+
rustup target add i686-pc-windows-msvc
121+
```
122+
123+
### 3. Building
124+
125+
If you manually cloned the repository make sure you have cd'ed into the repository folder
126+
127+
```sh
128+
cargo build --release
129+
```
130+
131+
### 4. Done
132+
133+
The dll should now be built you can find it at
134+
135+
```
136+
target/i686-pc-windows-msvc/release/binkw32.dll
137+
```
2138

3-
This is a DLL that when attached to Mass Effect 3 will hook and replace the required functions in order to make it possible to connect to private multiplayer servers.
4139

5140
## Credits
6141

7-
* WarrantyVoider & Erik-JS - Original version which was used for sourcing the patch patterns [Here](https://github.com/Erik-JS/masseffect-binkw32)
142+
* WarrantyVoider & Erik-JS - Sourced the patch patterns and offsets for Console, DLC, and VerifyCertificate [Here](https://github.com/Erik-JS/masseffect-binkw32)
143+
144+
145+
## 🧾 License
146+
147+
MIT License
148+
149+
Copyright (c) 2023 Jacobtread
150+
151+
Permission is hereby granted, free of charge, to any person obtaining a copy
152+
of this software and associated documentation files (the "Software"), to deal
153+
in the Software without restriction, including without limitation the rights
154+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
155+
copies of the Software, and to permit persons to whom the Software is
156+
furnished to do so, subject to the following conditions:
157+
158+
The above copyright notice and this permission notice shall be included in all
159+
copies or substantial portions of the Software.
160+
161+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
162+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
163+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
164+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
165+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
166+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
167+
SOFTWARE.

Diff for: assets/start.png

43 KB
Loading

0 commit comments

Comments
 (0)