-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Tappy has been my main focus for a bit more than a week now, and it's quickly becoming one of my favorite projects I think I will work on this year. **[Tappy](https://github.com/drunderscore/Tappy) is a Terraria server written in C++**, with support for Lua scripting. The reverse engineering process has been quite a fun ride, although certainly had aid from research previously done by the [Pryaxis](https://github.com/Pryaxis) team. The project is in no finished or production-ready state, but what I am already able to do is quite powerful. Tappy primarily consists of two parts: the Server, and LibTerraria -- a generic library for interfacing with Terraria datatypes. LibTerraria is what deserializes the packets, has useful Terraria-esc container classes, and other data types used by the game. _(I don't think I need to explain what Server does)_ All of this is done with only a single dependency: **Lagom**. Lagom is the name of a set of libraries used in [SerenityOS](https://github.com/serenityos/serenity), compiled for generic \*nix systems. _(specifically, the AK and LibCore libraries)_ This let's me take advantage of smart pointers inside of AK, and the event-driven IO/TCP stack inside of LibCore. I truly believe that there is no C++ library that makes networking easier than using C syscalls, except for how Lagom handles it. I would have spent half this project fiddling with networking if it weren't for Lagom and Serenity :^) Why would I work on this, and who would want this? Glad you didn't ask: - - Bad original netcode in Terraria - TShock is great, but it's like putting a blanket on a pile of shit. There's still shit under the blanket. - - **SEA SHARP** - I do love C#, it's a great language -- but my god is it slow and not portable. Sure, we have .NET core for portability, but most things still have yet to garner support for it, and Terraria is no exception. - _However_, another plug for the Pryaxis team and their new [Orion](https://github.com/Pryaxis/orion-core) Terraria Server API. Very well made, and is done with fast (as in, well performing) C# techniques. - - I felt like it. - I felt like it. This project is completely open source, and will always be. I am certainly looking for contributors, but with such infancy in a project, there's a good chance things will change drastically between a few commits. There are a lot of non-functioning pieces, so you're free to pick something that you want to see implemented and hack away! **Put your name on it!** I love getting credit for my changes in software, so if you've made any change, put your name at the top of the file copyright. -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEE+dozjnrgIGne0IkcPhbH76NPsV0FAmCayy8ACgkQPhbH76NP sV0kwhAAx4Pjg6kL+f6Pfj0BN5enGvyGXy+vi2f1EsQQNvwZ3o0RRBXmNPice9Av kNHxYuzdWVsrnrfO8KHdG/0+JtfEOiGNJlucjnS++/wkWqerf8pVhGuyY0Jl2sE5 HI4KsEtHzln2HRbSXRcHqxdd4QnYqcsk13oKX1Z8CYvhGEv1hwHbhRbRAteOVq1r Pf4vGXy8fO/PZqdxNzkIaPJ6CC6eb2YRZSBeH/mSVvRVP3KzDzNDqXVhO0ld4w4Y SPgjhCo8d27ee7OSMn1UPAUM+j5eSPaQcMafmW1w85zj+jPYKqeQGsDmvFMX2FcI wjznHfHnquw6QPFcYPPf7mO1GSU9/Aj/fp16J8/VaHO+FTiQFNRcUPeFvo9QWsfv 2qUAKyyGXZViDRRofJsFTf7iSC7kOLTsQyOo85fml7dJ+qXmgbIOnkhIyCrTqbIP g3fe0eb8Y4vYfG2jLXBLqjJFqPMtinLx8yW5p34wG91qZUVjKiB76eninl5UjPoo 1YzJq7hJ7QqTJorMNWShlDRY6UA13TPA9GNiq99HQRAJwIJMTEuKPr3wZM5YKzC/ TN0SQOUeVj2k6tN/I32Ko7gTvdMcgUZkJMQDUxBsbna5dkkRZthsfVl310+lu8Vp MgQwQ60dJvWS/D9wPBywETo5n/+auNQHE3R5/nCEHtN4+4Tw/Y0= =GO3r -----END PGP SIGNATURE-----