Skip to content

Dumb project utilizing my minecraft server poorly written from scratch in C++

Notifications You must be signed in to change notification settings

Krzyhau/MinecraftPlaysPortal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Project Logo

About the project

Minecraft Plays Portal 2 is a project that I've created to learn more about server-based multiplayer games and how communication between clients and server is handled. It is a primitive Minecraft server, written completely from scratch using C++ and Winsock, that allows multiple players to control the virtual controller, from which other softwares can fetch inputs using socket connection.

How does it work?

This implementation of Minecraft server contains a bare minimum protocol support, allowing the player to join the server, see and interact with other players, talk with them in chat and move around on hard-coded controller-like structure in empty void. Because I didn't implement anything else, this is all you can do, but that's enough for this project. Once server is active, external software can connect using separate handshake protocol and then receive informations about inputs generated by the controller. In my case, I've implemented a simple client into SourceAutoRecord plugin, which allowed me a quick way of injecting my custom inputs into the game.

You can see the implementation in my SAR branch.

Setting things up (for Portal 2)

If you have Visual C++ Redistributable installed, everything should work with no major configuration. After starting the server file, open Portal 2 with modified SAR plugin, set up IP using sar_mckrzy_setip command, then connect using sar_mckrzy_enabled 1 command.

Both plugin and server may crash because of various of bugs I haven't been able to fix. In this case, simply restarting server/plugin should work without doing anything else.

Download

Go to releases page for download link.

About

Dumb project utilizing my minecraft server poorly written from scratch in C++

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages