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

ProjectSorky - My personal playground

Sorky

Veteran OT User
Joined
Dec 17, 2024
Messages
368
Solutions
8
Reaction score
275
GitHub
Sorky96
Hello.
I want to start a thread about my personal playground - for now called Project Sorky (original idea, ftw!)
In the first "post" I would want to share the pre-login "improvements".
This project most probably won't be even released as a server for players, which is worth noticing. It's purely a way to play with after work :)

As for now, the stack is (not everything will be shown for now in-game):

  • Latest BlackTek (including Clidey with WhoDB, MariaDb)
  • OtClient by mehah (otbr fork)
  • Api written in .NET (My project won't use any ACC maker as a way to connec to the server, but will have website)
  • Translation Worker - Featuring CTranslate2 translating from BR, ENG and PL
  • All running on docker enviroment for easy, one-command rebuild of the whole dependency tree
So now meat :)
1775991937774.webp
There are not a lot of UI changes cause i'm not the best when it comes to UI/UX.
  • Players online are taken from my api - is a query from players_online table and displays a simple count(*)
  • Moving down, I've added an "eye" for the password form (thanks @Tofame)
  • New 3 buttons: Login via Google, Login via Discord, and register (more info will be below)
  • On the bottom, we have boosted_creatures and active events. All data from api, server rolls one single monster with either boosted loot, boosted spawn or boosted loot. All three have 50% increase, boos on the other hand, are always boosted with 200% loot.
Let's move to the register account button
1775992419819.webp
We can continue to register via Google or Discord as shown above, but let's stick to registering without social media.
Since the sent data is verified by the backend, we don't need to worry about form integrity or SQL injections.
The backend checks:
  • If the account with the same name does not exist
  • If the email address is in the correct form
  • if the password matches the security of the server (6 characters)
If something goes wrong, we get a message from the backend:
1775993158610.webp

Once the player clicks login with google/Discord, the client gets an email from there
1775993450451.webp
(I see now that the form is not perfect xD)
Client still needs to provide the correct data for username and password.

Once a player logs into their account, they can create a character or toggle security options:
1775993585172.webp
Creating character is quite simple:
1775993619396.webp
Only name need to be unique.
In the security tab you can link to social media or toogle authenticator app
1775993682450.webp
1775993709254.webp
With this enabled, every time players login into game he must provide the correct auth token either from microsfot authenticator or google authenticator.

If you have any questions, suggetsion let me know!
For now, it's all. TIll the next week ;)
 
So in today's post ;)
First steps in a world. The current map is a placeholder since I didn't change almost anything
1776624273238.webp
After arriving in the world, we are greeted by the NPC. I've rewamped NPC dialogues a little, and that's including
  • Silent greet on click - on click, I'm sending a new opcode that deals with the NPC custom engine (more about it later)
  • Custom real tibia-like window (it's not a copy, just inspired by that system)
1776624551462.webp
Dialogue options - if we choose to leave, our character is logged out and DELETED forever with a message
1776624597930.webp
If we choose to fight, we spawn on the custom, instanced map with two rats, and we have 30 seconds to kill them. If we wall, we get the same result as if we choose to leave.
It's worth noticing that NPC gear us up - he gives us an EQ in the correct slot so we can start killing rats faster.

1776624643290.webp
20:50 You defeated both rats. Return to the Awakener.
1776624791455.webp
After choosing a temple, he sends us to the predefined temple with a message, this time on the NPC channel

1776624851229.webp
 
Back
Top