• 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!

Login only with custom client

kaiqu3gabriel

New Member
Joined
Nov 9, 2017
Messages
27
Reaction score
4
Hi, I have a online server and I need to upgrade sprites but it can make problems with debugs when player use the normal tibia client.

How I configure to make login only with my custom client and normal tibia client never login more?
 
change the port of cliente 7171 to 7174 for exemple, when he try to log in tibia client (port 7171), it will apeears off-line
 
change the port of cliente 7171 to 7174 for exemple, when he try to log in tibia client (port 7171), it will apeears off-line
Then they can just write port "7174" in ip changer and log in? and they can know any current port through OTServlist.

Correct me if I am wrong since I never made a custom client, but I think you have to change RSA key in your client/source files, It will be hard for them to get RSA key so they will easily use your custom client.
 
Last edited:
Lua:
function Player.isUsingOtClient(self)
    return self:getClient().os >= CLIENTOS_OTCLIENT_LINUX
end


Lua:
-- Creaturescript
function onLogin(player)
    if player:isUsingOtClient() then
        return true
    else
        return false
    end
end

maybes.. not tested.
 
Last edited:
Then they can just write port "7174" in ip changer and log in? and they can know any current port through OTServlist.

Correct me if I am wrong since I never made a custom client, but I think you have to change RSA key in your client/source files, It will be hard for them to get RSA key so they will easily use your custom client.
ok, how I can do it? Have an a tutorial or something like it?
 
ohhh xd this tutorials only show how to make a custom client. I have a custom client but I need to players log only by MY CLIENT and not with cipsoft client. :/
It has explanation of how to change Tibia client RSA key, so all you need is to generate or add your custom RSA key on your custom Tibia client/Server source files "otserv.cpp" lines should look like this.
C++:
    std::clog << ">> Loading RSA key" << std::endl;
    const char* p("14299623962416399520070177382898895550795403345466153217470516082934737582776038882967213386204600674145392845853859217990626450972452084065728686565928113");
I am not sure but I think this should work, as I mentioned UP, I didn't make custom client before but I did some search.
 
Following this tutorial should work:

Just change the RSA he gives you to the one you generated.
And ofc don't forget to change the server side RSA.
 
In TFS 1.3 you don't need to source edit to change the expected RSA key, there is a key.pem file that comes with server files that you need to change for RSA.
 
Following this tutorial should work:

Just change the RSA he gives you to the one you generated.
And ofc don't forget to change the server side RSA.
I can find my RSA inside server in sources or .lua?
 
I can find my RSA inside server in sources or .lua?
If you are using TFS 1.3 you'll find it as Stigma's above answer in server files "key.pem" but if you are using older TFS then you'll find it in source files "otserv.cpp".
 
anyway all of these changes can easily be viewed by anyone using cmd(ip and port) and for rsa // client fake protocol simply by checking the client with ollydgb and hex editors u.u
 
anyway all of these changes can easily be viewed by anyone using cmd(ip and port) and for rsa // client fake protocol simply by checking the client with ollydgb and hex editors u.u
Very nice input, except nobody is going to go through the trouble of finding an RSA key to log into a server with a normal client that will result in a crash.
 
Very nice input, except nobody is going to go through the trouble of finding an RSA key to log into a server with a normal client that will result in a crash.
why would they crash ? if they would be using the same rsa / ip / ports / fake protocol? 🤫

the rsa is part of the client too. so it can be viewed by anyone

EDIT : AHH I CHECKED YOUR POSTS. SOO IN TFS 1.3 IS NOT NESSESARY TO CHANGE THE RSA IN CLIENT? :eek:
 
Last edited:
I using tfs 0.4 :eek:
you need source edit your server files in order to change rsa and then put that rsa in your client to it's useless anyone can check the rsa by hexediting the client, the same with ports and ip (with ports and ip is more easy you, can check those changes via cmd with the command netstat -n)

anyway atleast in otx (which is based on tfs 0.4)
its in configmanager.cpp and you need to edit rsamodulus
C++:
m_confString[RSA_PRIME1] = getGlobalString("rsaPrime1", "14299623962416399520070177382898895550795403345466153217470516082934737582776038882967213386204600674145392845853859217990626450972452084065728686565928113");
        m_confString[RSA_PRIME2] = getGlobalString("rsaPrime2", "7630979195970404721891201847792002125535401292779123937207447574596692788513647179235335529307251350570728407373705564708871762033017096809910315212884101");
        m_confString[RSA_PUBLIC] = getGlobalString("rsaPublic", "65537");
        m_confString[RSA_MODULUS] = getGlobalString("rsaModulus", "109120132967399429278860960508995541528237502902798129123468757937266291492576446330739696001110603907230888610072655818825358503429057592827629436413108566029093628212635953836686562675849720620786279431090218017681061521755056710823876476444260558147179707119674283982419152118103759076030616683978566631413");
        m_confString[RSA_PRIVATE] = getGlobalString("rsaPrivate", "46730330223584118622160180015036832148732986808519344675210555262940258739805766860224610646919605860206328024326703361630109888417839241959507572247284807035235569619173792292786907845791904955103601652822519121908367187885509270025388641700821735345222087940578381210879116823013776808975766851829020659073");
 
Last edited:
The client does require the public RSA key as well as the RSA modulus to encrypt messages.
The RSA public key is always, or should for compatibility reasons be 65537 but the modulus can be changed.

TFS 1.3 simply works with a pem file instead of needing all required variables by itself.
You do still need to change that file as well as the modulus in the client.

Other servers usually require the 2 prime numbers, the public key, the modulus and the private key.
tfs 0.4 has options for that in the config file i belive. No need to go in the sources.

And yes technically it can be viewed, the point is that barely anyone seems to know how to do this or is willing to.
 
Last edited:
The client does require the public RSA key as well as the RSA modulus to encrypt messages.
The RSA public key is always, or should for compatibility reasons be 65537 but the modulus can be changed.

TFS 1.3 simply works with a pem file instead of needing all required variables by itself.
You do still need to change that file as well as the modulus in the client.

Other servers usually require the 2 prime numbers, the public key, the modulus and the private key.

And yes technically it can be viewed, the point is that barely anyone seems to know how to do this or is willing to.
thanks for your reply :) now i understand abit more how it works in tfs 1.3

anyway i wasn't wrong at all
 
Back
Top