Jump to content
Returning Members: Password Reset Required ×

Release: Faith Emulator


CptSky

Recommended Posts

Around 2013/2014, I started an emulator for Era of Faith, before forking it and releasing it as COPS v7 Emulator (for Conquer Online). This is my original emulator for EoF, if anyone ever wants to work on that game.

Overview

Faith Emulator is a C++ emulator of the MMORPG Era of Faith.

The emulator is coded in C++ and uses Qt4 / Qt5.

N.B. The QMySQL driver must be build to use the QSQL module properly.

Features

Faith Emulator is currently released as a base source. Most functionalities are not implemented or completed. However, there is some code to log into the game, talk to NPCs, walk around, etc. Additional code could be backported from COPS v7 Emulator, and adapted for EoF.

Download

https://mega.nz/file/j1twRIDA#9uDz89-PBgD3J0HsZMv14_VoDmC3QlC-hpBjqBBMhB0

Screenshots

0kFfb.jpg

4kDjd.jpg

6PhBd.jpg

18ydh.jpg

aqEAb.jpg

kd37d.jpg

Q2NNf.jpg

QZu5f.jpg

rTY3f.jpg

trsag.jpg

Edited by CptSky
Link to comment
Share on other sites

Awesome! Thanks for sharing this. I might go in and add the screenshots you shared to a new pinned thread, if you don't mind.

No feel free! And if you need to additional info (i.e. mobs / etc), I know I still have some web archives of some pages around.

Link to comment
Share on other sites

  • 11 months later...
  • 7 months later...
  • 2 weeks later...

amazing work but i cant run this emulator in qt 5 with qmysql, can i have lil help with how to run it?

Are you getting an error? What's holding you up from running it?

Maybe i didnt install qmysql right?

im using linux mint, first time dealing with qt stuff, im a web js programmer.

im getting this erorr:

Screenshotfrom2024-07-3111-36-24.png.479e1777834a04c2af4d15a9fcbedff6.png

Link to comment
Share on other sites

amazing work but i cant run this emulator in qt 5 with qmysql, can i have lil help with how to run it?

Are you getting an error? What's holding you up from running it?

Maybe i didnt install qmysql right?

im using linux mint, first time dealing with qt stuff, im a web js programmer.

im getting this erorr:

Oh! That looks like it's probably a configuration issue. There's probably a file or setting you need to set for the username and password for MySQL.

Link to comment
Share on other sites

Are you getting an error? What's holding you up from running it?

Maybe i didnt install qmysql right?

im using linux mint, first time dealing with qt stuff, im a web js programmer.

im getting this erorr:

Oh! That looks like it's probably a configuration issue. There's probably a file or setting you need to set for the username and password for MySQL.

first thank you very much for the help.

Alright, what i did:

1. installed QT -> open project -> cmake .pro and make to build everything.

2.installed mysql module and check if it running with: sudo service mysql status -> getting "Active: active (running)".

3.change the field - SERVER_IP to my IP and SQL_PWD to root password -> inside settings.cfg file.

4.tried to run ./Faith\ Emulator

still getting the same error above, nothing changed.

ps i did try to log in to mysql server to see if user info correct and it open MySQL monitor.

help PLOX XD

Link to comment
Share on other sites

The QMySQL driver seems to be loaded just fine, but maybe it is not compatible with the MySQL server you run? If the connector was too old. Maybe you can break in the code doing the connection to see the exact result/error returned.

Otherwise, check also for SSL settings in the connection string. I think it is mandatory on modern connectors, and wasn’t back in the days.

Link to comment
Share on other sites

  • 1 month later...

To debug the MySQL connection issues, I strongly suggest modifying 

bool Database::connect(const char* aHost, const char* aDbName, const char* aUserName, const char* aPassword);

to either log itself, or optionally return a QSqlError. If the open() call fails, you can query lastError() to retrieve it. It should provide more information.

------------------------

Also, for the SSL settings, you may need to edit the function too look like:

bool
Database :: connect(const char* aHost, const char* aDbName,
                    const char* aUserName, const char* aPassword)
{
    ASSERT(aHost != nullptr && aHost[0] != '\0');
    ASSERT(aDbName != nullptr && aDbName[0] != '\0');
    ASSERT(aUserName != nullptr && aUserName[0] != '\0');
    ASSERT(aPassword != nullptr);

    if (mConnection.isOpen())
    {
        mConnection.close();
    }

    mConnection.setHostName(aHost);
    mConnection.setDatabaseName(aDbName);
    mConnection.setUserName(aUserName);
    mConnection.setPassword(aPassword);
    mConnection.setConnectOptions("MYSQL_OPT_SSL_MODE=SSL_MODE_DISABLED"); // changed line

    return mConnection.open();
}

But it seems to require Qt6. So for Qt5, you may need to configure certificates for your MySQL server. See the SSL options here.

Link to comment
Share on other sites

  • 1 month later...

btw this emulator is like game engine with era of faith assest? im not sure i understood what this emulator can do.
i wish i had the game assest or even the code base, so i can make a server or new stuff with it.

 

Link to comment
Share on other sites

On 10/29/2024 at 4:08 AM, AFRIAT said:

btw this emulator is like game engine with era of faith assest? im not sure i understood what this emulator can do.
i wish i had the game assest or even the code base, so i can make a server or new stuff with it.

 

This is just the server. Making a custom client would be much more involved.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...