1
0
mirror of synced 2024-11-15 06:37:36 +01:00
shadowtenpo/README.md

100 lines
4.1 KiB
Markdown
Raw Normal View History

2022-02-27 23:56:44 +01:00
ShadowTenpo
===========
2022-02-22 01:31:55 +01:00
2022-02-27 23:56:44 +01:00
Remote SEGA cab-to-cab multiplayer by virtualizing members into the local LAN.
2022-02-22 01:31:55 +01:00
2022-02-27 23:56:44 +01:00
Not a VPN. No need for a VPN.*
2022-02-22 01:31:55 +01:00
2022-02-27 23:56:44 +01:00
Installation
2022-02-22 01:31:55 +01:00
------------
2022-02-27 23:56:44 +01:00
You need a server to connect and forward traffic between clients. You can deploy
this on any machine that has a public IP address and can accept HTTP/Websockets
connection on a port of your choice.
On the client:
1. Install NodeJS (and NPM) if not installed already.
2. Open `install.bat`, or run command `npm i` to install node dependencies
3. Edit `config.js` and change the server address and port to your server.
4. If necessary, change other settings in `config.js`. The default values are
for SDBT. Other SEGA games may use different ports, or may not work.
To deploy a server:
1. Clone this same repo and have a NodeJS installation ready.
2. `npm i` for dependencies
3. Edit `config.js` and change `server_port` to any port of your choice for
incoming HTTP/Websocket connections.
4. Run `node server` to start the server. Using a screen/tmux is recommended as
the server will not fork into background by itself.
Usage
-----
*Note: this project may be in active development. Usage instructions may change
frequently. If you pull from git or manually update, make sure to revisit the
usage every time.*
1. Open `netif.bat` with administrative privileges to setup IP aliases.
* IP aliases are valid until reboot by default.
* `NETIF` in the script may be set to `loopback` if the default fails.
* Using your physical network interface is discouraged and may cause loss of
network. See https://superuser.com/a/1337075 if you really need to.
* Using a virtual interface (like VPN adaptor) may cause undefined behavior
with the game.
2. Open `start.bat` or run `node .` to start the client. Verify that it can
connect to the server and obtain party IP addresses.
3. Configure `segatools.ini` of the game to use the subnet and address. The
client will create a `segatools-override.ini` in the same directory. Use
that as a reference.
4. Start the game. If IP ADDRESS BAD, start the game as administrator.
Note that the client cannot be started if the game is running. If the client
is closed or crashed, the game must be stopped before you can restart the
client.
Game Settings
-------------
- Members must be on the exact same version. This includes game, ICF, options
and data.conf.
- By default, standard and netdelivery ports are not forwarded. Every member
should be their own standard and netdelivery server.
- Members must set to the same cab-to-cab group.
- Members may use different title servers or even no aime service at all.
- No additional executable patching is required.
Security Warning
----------------
This software has the ability to send arbitrary network traffic to your local
network. Your firewall may be bypassed if an adversary took control over parts
of the system, including but not limited to, a malicious server, a malicious
client on the same server, a middleman attack on any connection to the server.
By running the software you acknowledge such security risks on your system, and
agree to hold the developers innocent against any potential loss or damages,
even if caused by a flaw in the software.
License
-------
All rights reserved.
The authors informally permits acceptable modifications and redistributions
within closed communities for the purpose of enhancement and further
development. The authors reserves the full authority to determine if any
particular usage is acceptable. Specifically, reproduction in any form to any
publicly accessible location, including but not limited to GitHub.com, is
prohibited.
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.