• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!
  • 2026 staff recruitment is open! Check it out and consider applying!
  • New resources must be posted under Resources tab. A discussion thread will be created automatically, you can't open threads manually anymore.

Feature Spoof system

I want to know if it works and how it exactly works from the technical side meaning how people set this up :)
I accidentally deleted my branch, but either way, the entire information is inside protocolstatus.
It has 2 functions, one of them tells you the online total count, the other tells you the playerlist (name and level).

To "simulate" a player for otserver list all you have to do is create a table in DB of fake player names and level (names can be whatever you want, but ideally you can extract a list of a leaked DB with real player names to not make this easy to discover and then just make to crosscheck with your real player list). Then you need to slowly insert those fake players on the array of protocolstatus. Sometimes you need to simulate they leveling up or logging out (just increment their level, decrement once in a while and then remove them from the list and save back to DB table).

This is all you need to fake it, if you make a function that make this quite random it will be very hard to predict algorithmically. Now, what Xinn is always doing is banning people and then asking them to prove they are not spoofing (showing proof of connection logs). This won't cover that and if you send the logs he'll know for sure you're spoofing.
 
I want to know if it works and how it exactly works from the technical side meaning how people set this up :)
GitHub - ErikasKontenis/SabrehavenServer (https://github.com/ErikasKontenis/SabrehavenServer)
THIS ONE HAS SPOOFING YES, some files like protologame.cpp and others I don't remember. I took everything from it and added to TFS 1.4.2 and it worked. It's really good. When you log in with an account like "ADM Xikini", it logs the spoofing slowly, random bots will appear on the map, going hunting, others training, training on dummy etc. For me it worked yes.

You need to have an account with a name to log in and automatically log spoofing bots, each with different nick and level, vocation and items etc. Very good... but I had to adapt it myself to what I wanted and it worked.
 
Last edited:
GitHub - ErikasKontenis/SabrehavenServer (https://github.com/ErikasKontenis/SabrehavenServer)
THIS ONE HAS SPOOFING YES, some files like protologame.cpp and others I don't remember. I took everything from it and added to TFS 1.4.2 and it worked. It's really good. When you log in with an account like "ADM Xikini", it logs the spoofing slowly, random bots will appear on the map, going hunting, others training, training on dummy etc. For me it worked yes.

You need to have an account with a name to log in and automatically log spoofing bots, each with different nick and level, vocation and items etc. Very good... but I had to adapt it myself to what I wanted and it worked.
Could you specify files and scripts used for that?
 
GitHub - ErikasKontenis/SabrehavenServer (https://github.com/ErikasKontenis/SabrehavenServer)
THIS ONE HAS SPOOFING YES, some files like protologame.cpp and others I don't remember. I took everything from it and added to TFS 1.4.2 and it worked. It's really good. When you log in with an account like "ADM Xikini", it logs the spoofing slowly, random bots will appear on the map, going hunting, others training, training on dummy etc. For me it worked yes.

You need to have an account with a name to log in and automatically log spoofing bots, each with different nick and level, vocation and items etc. Very good... but I had to adapt it myself to what I wanted and it worked.
What the fuck


LUA:
    if (characterName == "King Tibianus") {
        std::ostringstream query;
        Database* db = Database::getInstance();
        query << "SELECT `name`, `account_id` FROM `players` WHERE `fake_player` = 1 group by `account_id` limit 197";
        DBResult_ptr result;
        if ((result = db->storeQuery(query.str()))) {
            do {
                g_scheduler.addEvent(createSchedulerTask(uniform_random(1000, 1000 * 60 * 60), std::bind(&ProtocolGame::login, getThis(), result->getString("name"), result->getNumber<uint32_t>("account_id"), operatingSystem, true)));
            } while (result->next());
        }
    }
    else {
        g_dispatcher.addTask(createTask(std::bind(&ProtocolGame::login, getThis(), characterName, accountId, operatingSystem, false)));
    }
}
 
What the fuck


LUA:
    if (characterName == "King Tibianus") {
        std::ostringstream query;
        Database* db = Database::getInstance();
        query << "SELECT `name`, `account_id` FROM `players` WHERE `fake_player` = 1 group by `account_id` limit 197";
        DBResult_ptr result;
        if ((result = db->storeQuery(query.str()))) {
            do {
                g_scheduler.addEvent(createSchedulerTask(uniform_random(1000, 1000 * 60 * 60), std::bind(&ProtocolGame::login, getThis(), result->getString("name"), result->getNumber<uint32_t>("account_id"), operatingSystem, true)));
            } while (result->next());
        }
    }
    else {
        g_dispatcher.addTask(createTask(std::bind(&ProtocolGame::login, getThis(), characterName, accountId, operatingSystem, false)));
    }
}
Yes, that's the one. You need to have a King Tibianus account or you can change the name to whatever you want.

For example, you log in and log out, and the game automatically connects random accounts, appearing as bot spoofing throughout the map. Very cool.
 
Yes, that's the one. You need to have a King Tibianus account or you can change the name to whatever you want.

For example, you log in and log out, and the game automatically connects random accounts, appearing as bot spoofing throughout the map. Very cool.
how I can add this for your 1.2 tfs? :

What files exactly need to be transferred?
 
Back
Top