Kaioru / Edelstein

A v.95.1 Mushroom game server emulator written in C# .NET

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Setup Documentation

alphaqueueop opened this issue · comments

Why is not in the README;

How to setup "postgresql"
How to configure "servers"
How to configure the "databases"

Furthermore, why are the migration binaries stripped of their ".exe." extension?
Afterward, what localhosts work with the server, what is the point of running, if no clients can detect it

commented

Hey, I assume you're referencing the v176 branch!

The documentation for v176 is not available fully yet solely because things are still being changed and worked on,
how it works currently might not reflect how it's going to be.

As for migration binaries, yeah, they should be outputting executables in the Windows builds; I'll have to look into this

Any methods you use to connect using a v176 client/auth hook should work fine,
there's a client I've been working on but thats not publicly available yet.

Feel free to raise up any more issues and questions you run into!

commented

Hey, thanks for trying out.

Yes I somewhat agree that the current setup and configuration is somewhat cumbersome and not clear-cut if you haven't done it before. I have tested the v95.1 version and minor config issues were addressed by Kaioru so it should work from cloning and building the repo. I have not tested the v176 branch yet.

Also its beneficial to understand that Kaioru operates on Linux environment using RiderIDE so some issues may not arise in his setup but could on windows, so reporting issues its best to state factors like OS, IDE, CPU/GPU, 32/64bit, user privileges etc...

I have currently began writing Avalonia App to address this issue of lack automation, wizard for (auto)configuration/launch.
This should access/obtain all the necessary things automatically and provide wizard for configuring the server or client.

Regarding clients, there should be localhosts available which are capable of connecting. Googling should lead you to find unprotected/unpacked and unvirtualized localhost for v95.1 and even its .pdb file.

The problem: Such client still uses address(IP/port) of official server.

Possible solutions:

  1. Rewrite the bytes of the localhost file

Assuming the server IP address is more likely static then its likely already known(it is case for 95.1, 176) and can be searched for in the bytes of localhost file. So you can create patch for the localhost binary and overwrite it with.

  1. Create a loopback adapter

Since you know the IP you can create virtual network adapter too loopback all outbound traffic to that IP to localhost.

  1. Create a winsock hook

Maplestory like most server-client games since windows XP relies on winsock api as such the winsock has to hold in destination IP/port as such the winsock methods like WSPGetPeerName can be hooked and the underlying socket address structure modified to use localhost data.

But well all of this has already been done, so if you search a bit more you will likely find all of these approaches for many clients in range from v62 to v203

commented

Closing this issue, feel free to continue the discussion under the 'Discussions' tab.