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

OTCv8 is now opened for c++ developers

kondra

Premium User
Premium User
Joined
Apr 9, 2018
Messages
189
Solutions
3
Reaction score
613
GitHub
OTCv8
Hey,

Recently, OTCv8 has reached recently 300k installations, including 95k android installations, is used by around 10k players every week, our discord server has 4500 members. It's all great, but there's a problem, I don't have so much time as I used to have, due to involvement in other buisness projects, so let's say I can spend max 20h per month on otcv8 development. This isn't enough for such a big project but I don't want to abandon it, like other developers before me did with their projects.

I was discussing with otcv8 source code owners about open-sourcing otcv8, and we agreed it's not a way to go, it didn't work before and it won't work now. Instead, I did something else, I open-sourced whole client/ and lua part of OTCv8, and allowed everyone to edit it. The deal is, if you want to add something new in c++ part, you must do a pull request with your changes. By doing that we will keep every change to otcv8 client part open-source, and there'll be good code review.

To make it work, I created developer edition of OTCv8, it's available here - OTCv8/otcv8-dev (https://github.com/OTCv8/otcv8-dev) - it allows your to edit client/ files without direct access to framework .cpp files. It has many limitations and is designed only for developers. If you want your changes to be released in production-ready version, just do pull request, wait for code-review and merge and after that my CI/CD scripts will build release version and release it on OTCv8/otclientv8 (https://github.com/otcv8/otclientv8). I automated whole process with github actions.

Access to otcv8 framework and some features like bot protection is still a paid option, however from now I'll split profits for that 50/50 with other contributors (I was already doing that before with some developers and maintainers). The price will be lowered a bit every year, and after some time (>3 years) it will become an open-source project.

Here's an example, how to modify otcv8 client part.
Oen44 wanted to add new feature, customizable health and mana bars, something like this:
1617975573661.png

He downloaded otcv8-dev, added required changes and created pull request - Health and mana bar backgrounds added by Oen44 · Pull Request #8 · OTCv8/otcv8-dev (https://github.com/OTCv8/otcv8-dev/pull/8)
The pull request was tested (OTCv8/otcv8-dev (https://github.com/OTCv8/otcv8-dev/blob/master/.github/workflows/Test.yml)) and everything was fine.
1617975708104.png

So I did code review and accepted it. Then the other script merged Oen44 changes and released official version with his new feature.

1617975846352.png

After doing all the tests again, it was automaticlly released as OTCv8 3.0 rev 12 on OTCv8/otclientv8 (https://github.com/OTCv8/otclientv8)

1617975892587.png

To make it work even better, I developed method of testing otcv8, there are 2 tests so far - OTCv8/otcv8-dev (https://github.com/OTCv8/otcv8-dev/tree/master/tests). After every change to otcv8-dev, you can download otclient binaries, otclientv8.log and screenshots from tests (check for example: OTCv8/otcv8-dev (https://github.com/OTCv8/otcv8-dev/actions/runs/732663598). Here's an example screenshot from test phase:

1617976277516.png

So, if you want to help, check out OTCv8/otcv8-dev (https://github.com/OTCv8/otcv8-dev)
 
Last edited:

tarantonio

Old School Player
Joined
Jun 21, 2009
Messages
826
Solutions
1
Reaction score
235
It is good to know that you are finally making the decision to open the code that you have modified and perfected so much, I suppose that in 1 or 2 years I will use this client when it is completely free code, great job OTCv8
I'm with Sarah. I will use this client too. Good job @kondra

...also waiting for an "original" client theme, otclient default and retro are not my taste for a custom server. We have to move from Cipbia.
 

Olddies

Veteran OT User
Joined
Nov 21, 2009
Messages
1,137
Solutions
12
Reaction score
277
Location
Rep.Dom
Good job Kondrah finally people will stop talk about otcv8 sources 🥳

I’ll stay with TFClient.😎
 

Pedrinpo

New Member
Joined
Feb 16, 2019
Messages
11
Reaction score
3
This will open many doors, so that each time the client gets better :)
 

oen432

Legendary OT User
Joined
Oct 3, 2014
Messages
1,423
Solutions
49
Reaction score
1,518
Location
Poland
GitHub
Oen44
The only closed source part here is the part that 99% of you won't even understand (if you could, then you would make OTC as good as v8 is).
With Developer Edition you can create A LOT more than you could with modules (and that's powerful enough).
Kondrah used my feature as example, here is video showing what it really does and that should be enough to show you what you can do now.
 
Last edited:

Granadier

Member
Joined
Jan 23, 2021
Messages
12
Reaction score
7
By doing that we will keep every change to otcv8 client part open-source, and there'll be good code review.
Code review and management of contributions can be done in a fully open-source environment. It has been done for decades. I don't see how your decision to only partially open-source the code while asking for help from external developers has anything to do with ensuring code quality.
 

oen432

Legendary OT User
Joined
Oct 3, 2014
Messages
1,423
Solutions
49
Reaction score
1,518
Location
Poland
GitHub
Oen44
Code review and management of contributions can be done in a fully open-source environment. It has been done for decades. I don't see how your decision to only partially open-source the code while asking for help from external developers has anything to do with ensuring code quality.
TFS, OTC, literally everything in this community. People just clone and do stuff in private, 25% of the work is shared. The moment v8 goes fully open-source, it will end the same. Now? You want custom features? You have to share it with others. You don't want to share it? Support v8 devs and pay for full sources.
 

Granadier

Member
Joined
Jan 23, 2021
Messages
12
Reaction score
7
TFS, OTC, literally everything in this community. People just clone and do stuff in private, 25% of the work is shared. The moment v8 goes fully open-source, it will end the same. Now? You want custom features? You have to share it with others. You don't want to share it? Support v8 devs and pay for full sources.
I see. I did not take this into consideration. Appreciate the insight, honestly.
 

tarantonio

Old School Player
Joined
Jun 21, 2009
Messages
826
Solutions
1
Reaction score
235
I added mac os and linux support.
View attachment 58902
I have this error every time I try to execute the mac executable:

FATAL ERROR: Render error: 1286 in draw (/Users/runner/work/otclient/otclient/src/framework/graphics/drawqueue.cpp:267)

Btw I was able to execute it the first time, then it started to appear that error.
 
Top