Skip to content
Devon R edited this page Feb 8, 2020 · 5 revisions

Setup of the Eldstar Server

Extract the Eldstar zip file into a folder and launch eldstar_server.exe (Eldstar requires all files from this folder: do not try to launch the server from within the zip file, it MUST be extracted first.).

The server may cause Windows to ask you to give it networking permissions. This is so it can open the socket server that the emulator will communicate with: if you reject this permission, the server will be unable to receive any data.

Once the server application launches, you should see a status screen with a camera mesh at the world origin:

The default status screen

When this screen has loaded, Eldstar is ready to receive data from the client (see section below). The controls for the viewport are as follows:

Binding Action
Middle click + move mouse Pan view from perspective
Right click + move mouse Orbit view around origin
Arrow keys Move view laterally
I/J/K/L Orbit with the keyboard
PageUp/PageDown Ascend/descend view
M Open menu
Enter/Return Select menu option
Backspace Close/go back in menu
F Toggle solid/wireframe
O Cycle color modes for geometry
Tab Toggle game camera mirroring
C Toggle frame dumping

Holding Shift while using the movement keys will make the view move faster, and holding Control will make the view move slower for precise camera placement.

Frames get dumped as PNGs in the framedump/ folder: see README inside that folder for details.

Setup of the Eldstar Client

The current only client implementation for Eldstar is for BizHawk. I recommend using BizHawk 2.3 or higher.

The default BizHawk Lua interpreter (NLua) does not support loading dynamic libraries, but the client requires the socket module to run, so we must change the interpreter to use Eldstar.

To change the interpreter, go into Config > Customize and in Advanced switch to Lua+LuaInterface.

Customize option in the Config menu Changing the interpreter to LuaInterface

Once the interface has been changed, you may need to restart BizHawk for the changes to take effect. Once the new interpreter is loaded, load up any compatible Paper Mario ROM (JP/US/EU) and then load eldstar_client.lua from the client folder:

Open the Lua Console to open the script Click on Open and select eldstar_client.lua to add it to the script list

If you are getting error loading module 'socket.core' from file '.\socket\core.dll' you need to ensure you have changed your interpreter, restarted your BizHawk and are running EmuHawk 2.3 or newer, see this issue

If the script loads up without any errors, the client should have made successful connection to the server and will send it a world update every emulator frame:

Eldstar Server with successful client connection

You can then disable the client by either pressing the pause button to deactivate it temporarily or by right clicking on eldstar_client and removing it.

You should always remove the client script before closing the server window. If the client is still open when the server is closed, it will repeatedly attempt to reconnect, which will greatly affect emulator performance.

Clone this wiki locally