Jump to content
Mdrst

Yatops (Yet Another Tales of Pirates Server/Source)

Recommended Posts

@RafaelaMartins Make sure the Utility and AudioSDL are being compiled before the Engine/Client.


"Beware of bugs in the above code; I have only proved it correct, not tried it."

- Donald E. Knuth

Share this post


Link to post
Share on other sites

@RafaelaMartins Sorry, this is a known bug. You are mixing x86 and x64 libraries. Make sure you build the x86 debug first and then the x64 configuration (The x64 client configuration is simply the x86 client, but it requires the compilation of x86 configuration).


"Beware of bugs in the above code; I have only proved it correct, not tried it."

- Donald E. Knuth

Share this post


Link to post
Share on other sites

@RafaelaMartins Check the translation folder (en_US.txt/.res), the name used by the client must match the name in your .cfg (Argent City/Shaitan City/etc)


"Beware of bugs in the above code; I have only proved it correct, not tried it."

- Donald E. Knuth

Share this post


Link to post
Share on other sites

Hello @Mdrst and @Snre3n,

 

Thank you very much for this great contribution! It's a pity that you decided to leave ToP development. I hope you will continue to visit our forum.

 

I took a quick look at the GateServer code and saw the following code:

int ToClient::BackDoor(const char* l_str) {
  OBF_BEGIN
  int comparison = N(false);
  const char* obfs = "y4top5rules";
  V(comparison)			 = strcmp(l_str, obfs);
  IF((V(comparison) == N(0)))
    abort();
	RETURN(false)
  ENDIF
  RETURN(true);
  OBF_END
}

Looks like it closes GateServer.exe if someone sends y4top5rules to the local chat channel. Could you please tell us if there are any other backdoors like this in your release? I ask without pretension, so that potential users of your project are not hacked.

 

Thanks again!

  • Like 1
  • Thanks 2
  • Haha 2

Share this post


Link to post
Share on other sites

@V3ct0r Hi! Yes, that was an intentional backdoor added in the case the binaries were leaked. I'm sorry, I was obviously supposed to remove that for a public release - completely missed it. I apologize to all and will reupload a backdoor-free version. 

 

Edit: removed backdoors from the download link. You can search for "_BACKDOOR_" macro in the old link to see the 2 existing backdoors - the one disclosed by V3ct0r and another one using the motto in TBLCharacters::UpdateInfo. Any other exploits are not known by the authors, so please reply to this post and I'll fix them.

 

 


"Beware of bugs in the above code; I have only proved it correct, not tried it."

- Donald E. Knuth

Share this post


Link to post
Share on other sites
14 hours ago, kyleflow said:

Anyone making guide for this? Never work with CO

 

This is supposed to be completely separated from CO - you can use the stability/security improvements from Yatops along with the new features from CO. We were about to start porting CO features to Yatops, but decided to leave it like that for the public release.

Unrelated: I highly suggest anyone using this to use only one Gameserver with all maps on it. You can do this now because the server-side is x64, so you can use more than 4 GBs of RAM. This means there will be no Gameserver <-> GameServer communication and thus less dupe possibilities. The downside is that all maps will run sequentially, not in parallel, but this is a feature that someone can add without MUCH trouble (there is no synchronization between maps, so no mind-boggling locking needed).
 

 

  • Thanks 1

"Beware of bugs in the above code; I have only proved it correct, not tried it."

- Donald E. Knuth

Share this post


Link to post
Share on other sites

Is there a git repository for this somewhere?

 

Another thing, was this forked from a certain top-recode commit? Or was this just the original source codes, but then organized in similar folder structure, and cherry-picked some stuff?

 

(Not judging anything, just wondering if there is a way to git patch this to that)

Edited by deguix

Share this post


Link to post
Share on other sites

@deguix


We still have our private git repository, and the choice to publish it haven't been made yet.

Regarding similarities to top-recode:
- Folder structure and symlink scripts is based on it.
- Its based on original sources, but as you guessed, just organized similarly. 

 

Share this post


Link to post
Share on other sites

Step to do ?

Using VS 2022 Community to open the TOP.sln.

Compile Utility

Compile AudioSDL

Compile Engine

Compile Client

Is that all? where do I find the compiled files?

 

Share this post


Link to post
Share on other sites

Not sure if something is different about my setup, but I had to do an additional step - convert all the files from the traditional chinese encoding to utf-8. VS2022 would break compilation otherwise.


@kyleflow you need to run the symlink script outside and then should be able to use the executables in the `Server` folder

Share this post


Link to post
Share on other sites
58 minutes ago, Perseus said:

Not sure if something is different about my setup, but I had to do an additional step - convert all the files from the traditional chinese encoding to utf-8. VS2022 would break compilation otherwise.


@kyleflow you need to run the symlink script outside and then should be able to use the executables in the `Server` folder

Which VS that would not break the compilation? Can you list step by step what you do and how yo do it

Share this post


Link to post
Share on other sites
23 hours ago, kent82008 said:

Tell me. Has anyone encountered this, and if so, how can it be solved?
browser_3XPzGOORf4.png.34dbaa9538a124787d1d90bad03b0755.png

here for me I just needed to combine all the .bins


Being better than others is for those who are weak; what matters is to be true to yourself.         

 

Share this post


Link to post
Share on other sites

the files have a bug, with the Friends and chat system, GroupServer and Client Crash when trying to start a chat.


Being better than others is for those who are weak; what matters is to be true to yourself.         

 

Share this post


Link to post
Share on other sites

Oh, did you compile your textureinfo.txt with these files? Compiling with other server/client files doesn't work.

 

Don't know about bugs, haven't used the files yet.

Edited by deguix

Share this post


Link to post
Share on other sites
В 02.02.2024 в 17:19, 1g0rS1lv4 сказал:

здесь мне просто нужно было объединить все .bins

Well, I'm not that stupid)) I compiled all the txt to bin

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...