Lonami / terry

A Rust bot for Terraria 1.4
Other
16 stars 6 forks source link

Could not receive world info. #3

Closed terfusti closed 3 years ago

terfusti commented 3 years ago

When I try to use terry, I get these messages, Connecting to the server... Connected to the server! Could not receive world info :-(

Any way to fix this?

Lonami commented 3 years ago

This project was made when Terraria 1.4 came out, but since we're now at 1.4.2.3, the format may have changed again.

terfusti commented 3 years ago

Do you think you will ever update it?

Lonami commented 3 years ago

If I manage to find enough free time and interest, then I'll look into it, however I don't know how big the changes will need to be. Maybe they're not so big and you could try sending a PR as well.

terfusti commented 3 years ago

Thanks for fixing up the protocol. It seems to be working now. I'm a bit new to rust, do you think you will ever write a bit of a tutorial on the usage of the program (or even perhaps a little bit of help through discord or some platform), or should I just continue trying to reverse engineer it a bit. Thanks, Terfusti.

Lonami commented 3 years ago

I might improve the documentation on the public interface of what is my code. However, I probably won't document the packets themselves used by Terraria (and the Terraria server). The names are mostly self-explanatory, and while tShock's Multiplayer Packet Structure documentation page isn't fully up-to-date, it contains a good overview.

In essence, there isn't much more to the library other than receiving and sending packets, which the terry crate in this repository shows how to use. You send packets to tell Terraria what to do, and Terraria responds back with packets on what's happening. You probably want to spawn a thread to receive things asynchronously without blocking the sending part. Those are your building blocks. Experimentation is probably the way to go. Good luck!