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

Source's custom OT game engine (TypeScriptFTW)

Hi, I have a lot of free time now but I don't want to join the team too much.... I'd rather just do some source code development when I'm bored for training purposes.

offtopic: or do you know of any old edition of OTS 7.1 that is unfinished and has a small amount of source code?

ps. I have a small question, do you have any trouble reading the code when you use the prefix ‘this’ a lot?
There's no team, tasks, demands, applications, or pay to worry about.
There's just me working on my server and my willingness to include everyone that wants to be, and if they don't want to be, that's fine too.

No, unfortunately I'm not aware.

No, I prefer to use this in C++ classes to be explicit, so you don't have to wonder if there's a local variable with the same name or not that you're accidentally referring to.

Cheers.
 
Hey everyone. Lots of updates this time.

  • Depots now work (both loading and saving/unloading lockers)
  • saveAllPlayers has been fixed (it was untested and didn't work when I did test it), but it's still somewhat bugged, so I need to work more on it; specifically saving saving inventories, which seem to be a generic issue with containers right now, since fresh monster containers are also bugged
  • Poison damage should happen sometimes when reaching armor even if no damage
  • Fixed laggy walking
  • Translated protocolparse and all onProtocol* events to C++, fixed translation, and implemented everything so it works
  • Implemented world.moveObject and other pos.x == 0xFFFF functions in C++ such that we can move items in and out of containers still while using C++ functions instead of scripting
  • Lots of new functions and reorganization/rework of code

Gif of depots working:
9A46Srr.mp4


PS: After I implemented depots, memory usage has gone up for loading all 64k players from approx 600MB to 2GB + 1GB for map/NPCs/monsters.
This might be partially due to a bug, since memory usage is kinda inconsistent, or it's possible that this is the final memory footprint with 65k characters.
However anything other than the "Zanera" experience won't use this much memory at all, 1GB will be the baseline.

Cheers!
 
Hey everyone. Time for another bi-weekly update:

Not a lot has changed this time, but there are some changes:
  • Implemented checkMoveUse partially in C++ (simplified logic) and added Collision and Separation event on login and logout
  • Implemented RSA and XTEA in C++ using GMP for RSA (from scratch)
  • Developed new AI standalone server which will be run on separate VPS / dedicated, so it doesn't spend all the CPU resources on gameserver; almost everything finished except for MySQL to communicate with TaoEngine and a few finishing details
  • Gathered 25k lines of non-cheating training data for the neural net. Now working on my macro scripts and client to gather 25k more lines of cheating data to train the network.
  • Added pretty much everything to client for this update. Client will exit automatically in 5s if it can't connect to AI server but is connected to game server
  • Only thing left to do in regards to anti-macro nn now is adding MySQL to AI and TaoEngine servers and refuse to accept connections from clients which aren't connected to AI server and disconnect players if they disconnect from AI server or sends invalid data

Keep in mind, while AI server might sound scary, it's the least privacy invasive solution to cheating that exists.

Unlike other servers we're not spying on your processes, we're not taking screenshots of your desktop like supposedly a certain other server and anti-cheat systems.
We're not logging your data, we're not saving your data, etc, whether that's on the upcoming test server or on alpha launch or on stable launch or anything.

All that's done is user inputs are buffered and sent to AI server for evaluation, which means technically the AI model keeps some translated reminiscence of the data in memory which is probably unrecoverable / very unfeasible to actually recover even if you're a three letter agency, if the network thinks you're cheating this incident (name of character / account id and probability of macroing by the neural net) will be logged so that a GM can investigate the issue (might also temporarily ban account if probability of macroing is sufficiently high enough, we will experiment to see).

And the AI network is trained by us and run locally, we're not telling on you to ChatGPT, lol.

So there's no data being forwarded to any other models or servers, just to our servers, running our own model built from scratch using PyTorch.

Think of it like a robot lawnmower. A robot lawnmower only knows how to cut grass. A robot anti-cheat network only knows how to tell if user is cheating (macro pattern detected).
Robot lawnmower goes brrrrr, oops object collision reverse, brrrrr.
Our anti-cheat network goes brrrrr, 0% cheating, 0% cheating, 70% cheating, omg 100% cheating, ok 0% cheating again, brrrrr.

Ok, anyway that's all, thanks for reading any of this, and until next time have a good one :)
 
Back
Top