Skip to content

Commit

Permalink
Add instructions on how to setup the EO client
Browse files Browse the repository at this point in the history
  • Loading branch information
chrzrdx committed Sep 22, 2024
1 parent 6ad05ad commit 218f8f6
Show file tree
Hide file tree
Showing 6 changed files with 197 additions and 1 deletion.
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -33,3 +33,7 @@ data/quests/*.eqf
.env
*.local.toml
*.local.ron

# Endless Online Client
EOzipped028
EOzipped028.zip
6 changes: 6 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,3 +64,9 @@ The logging level can be adjusted by changing the `RUST_LOG` variable in the `.e

- `debug`: This will print human-readable data structures for every packet.
- `trace`: This will print the raw byte arrays for every packet.

## Setup quests, NPCs and items for your server

## Setup the Endless Online client

See `eo-client/README.md` for instructions
2 changes: 1 addition & 1 deletion compose.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
services:
db:
image: mariadb:latest
container_name: reoserv-db
restart: unless-stopped
env_file:
- .env
ports:
- "3306:3306"
volumes:
- db-data:/var/lib/mysql
- ./db-init/:/docker-entrypoint-initdb.d/
39 changes: 39 additions & 0 deletions eo-client/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# Setup the Endless Online client

## Ubuntu

For Ubuntu users, we provide a script to simplify the client setup. Just follow these steps:

```sh
cd eo-client
chmod +x setup.sh
./setup.sh
```

This script will download the client, configure settings, and apply necessary fixes to get the client running smoothly.

## Manual setup (Windows and other platforms)

If you're not on Ubuntu or prefer a manual approach, follow these steps:

1. Download and unzip the client from [here](https://cache.tehsausage.com/EndlessOnline/EOzipped028.zip).

2. Copy the custom `eo-client/config/setup.ini` file from this repository into the `EOzipped028/config` directory. _(Do not replace the `setup.ini` in the root of the `EOzipped028` directory.)_

3. If using Wine, you may want to apply these optional fixes if the client doesn't run smoothly:
```sh
cat /usr/lib/wine/wined3d.dll.so | sed 's/EnterCrit/LeaveCrit/' > $HOME/.wine/drive_c/windows/system32/wined3d.dll
wine reg add 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v 'wined3d' /d 'native,builtin' /f
```

## Running the Client

1. Ensure you have the server up and running in a different terminal window.

2. Once you've completed the setup, you can run the Endless Online client:
```sh
cd eo-client/EOzipped028 # or the directory where you unzipped the client
wine endless.exe
```
3. Check the server console for a message confirming that the client has connected.
119 changes: 119 additions & 0 deletions eo-client/config/setup.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
# Endless Online 0.27 [ configuration file ]

# This is the main Endless Online configuration file. It contains
# the configuration directives that give the game engine its
# instructions. See www.endless-online.com for more instructions.

# If you do not know what how to use this configuration files you
# are strongly adviced to exit this file without making any changes.

[CONNECTION]

# change this values to connect to a server. You can either put
# a 'hostname' or a IP number here. Port number should be given
# on the website owned by the game server you want to connect.

Host=LOCALHOST
Port=8078

[CONFIGURATION]

# putting fullscreen to 'off' will launch you in a windowed mode,
# attention: performance will suffer in a windowed mode.
# stay on top makes your window always visible in a windowed
# mode.

Fullscreen=off
Sizeable=off
StayOnTop=off

# disable pageflipping could increase your framerate (fps).
# running without pageflipping might be unstable.
# only enable blocktranfer if you see weird graphics.

Pageflipping=on
BlockTransfer=off

# the next settings are advanced, it are instructions for behaviour
# of the various graphic loaders. Making a loader static will require
# more memory but will increase the overal game performance because
# the harddisk activity will be less. If you have little system memory
# (32mb or less) you can turn these values to 'off' to reduce memory.

StaticSprites=on
StaticObjects=on
StaticTiles=on

[SETTINGS]

# you can disable sound or music, this might speed up a little bit.
# you cannot turn sound or music back 'on' once you are playing.

Music=off
Sound=on

# turning off the following features could increase your framerate (fps).
# if the game is running normal you should have both options 'on'.

ShowBaloons=on
ShowShadows=on

[CHAT]

# the server is not filtering the spoken chatlines, but we offer
# you your own filter that you can turn on and off. If you set
# FilterAll to 'on' any chatline with a 'bad' word in it will
# not being displayed on your screen.

Filter=off
FilterAll=off

# here you can change a few features of the chat system
# LogChat will make a text file every time you play Endless.
# If needed you can also block all whispers.

LogChat=on
LogFile=CHATLOG.TXT

HearWhisper=on
Interaction=on

[LANGUAGE]

# the language will change the displayed messages and you
# keyboard behaviour, default this settings are on '0' english.
# note: endless does not support AltGr combinations!
# note: keyboard code 3 will enable 'azerty' keyboards.

# language code table
# 0: english
# 1: dutch
# 2: swedish
# 3:portuguese

# keyboard code table
# 0: english
# 1: dutch
# 2: swedish
# 3: azerty

Language=0
Keyboard=0

[CUSTOM]

# optional to disable the intro to start the game more quickly.
# if your game doesnt run its adviced to turn this feature 'off'.

Skipintro=on

# optional to disable the anti-keylog softpad login system.
# skipping this option could make you vulnerable to keyloggers.

Skipsoftpad=on

# remember, every time you launch the game it will be set up with
# these instructions, if you like to change something you need to
# restart the game as well.

# end of configuration
28 changes: 28 additions & 0 deletions eo-client/setup.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
#!/bin/bash

# Variables
CLIENT_URL="https://cache.tehsausage.com/EndlessOnline/EOzipped028.zip"
SETUP_INI_PATH="./config/setup.ini"
WINE_INSTALL_PREFIX="/usr/lib/wine" # Default Wine installation path
WINEPREFIX="$HOME/.wine" # Default Wine prefix

# Download and unzip the client
wget $CLIENT_URL -O EOzipped028.zip
unzip EOzipped028.zip -d EOzipped028

# Replace setup.ini
cp $SETUP_INI_PATH ./EOzipped028/config/setup.ini

# Install Wine if not installed
if ! command -v wine &> /dev/null
then
echo "Wine could not be found, installing..."
sudo apt update
sudo apt install -y wine
fi

# Apply Wine fixes
cat $WINE_INSTALL_PREFIX/wined3d.dll.so | sed 's/EnterCrit/LeaveCrit/' > $WINEPREFIX/drive_c/windows/system32/wined3d.dll
wine reg add 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v 'wined3d' /d 'native,builtin' /f

echo "Client setup complete. You can now run the client using Wine."

0 comments on commit 218f8f6

Please sign in to comment.