diff --git a/.README.md.un~ b/.README.md.un~ new file mode 100644 index 0000000..54d1c32 Binary files /dev/null and b/.README.md.un~ differ diff --git a/README.md b/README.md index 551b1f5..80ed0d0 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,13 @@ # mcc -mcc (MineCraftC) is a C++ Minecraft Classic server software. \ No newline at end of file +mcc (MineCraftC) is a Minecraft Classic server software. + +## TODO + +- [ ] Core + - [ ] Logger + +- [ ] Network + - [ ] Socketer + - [ ] Threader + - [ ] Packeter diff --git a/README.md~ b/README.md~ new file mode 100644 index 0000000..80ed0d0 --- /dev/null +++ b/README.md~ @@ -0,0 +1,13 @@ +# mcc + +mcc (MineCraftC) is a Minecraft Classic server software. + +## TODO + +- [ ] Core + - [ ] Logger + +- [ ] Network + - [ ] Socketer + - [ ] Threader + - [ ] Packeter diff --git a/src/.main.cpp.un~ b/src/.main.cpp.un~ new file mode 100644 index 0000000..3eb8e9b Binary files /dev/null and b/src/.main.cpp.un~ differ diff --git a/src/main.cpp b/src/main.cpp index fdaad45..256072d 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -49,6 +49,8 @@ public: int main() { cout << "mcc v0.0.0\n"; + Network::Socket socket; + socket.winInit(); return 0; } diff --git a/src/main.cpp~ b/src/main.cpp~ new file mode 100644 index 0000000..f07d7fc --- /dev/null +++ b/src/main.cpp~ @@ -0,0 +1,57 @@ +#include +#include + +#define NET_SOCK_ADDR "0.0.0.0" +#define NET_SOCK_PORT 25565 + +using namespace std; + +class Network { +public: + class Socket { + public: + int winInit() { + WSADATA wsaData; + int result = WSAStartup( MAKEWORD(2, 2), & wsaData ); + if (result != 0) cout << "Network.Socket.winInit: Error: Initialization error\n"; + + cout << "Network.Socket.winInit: Socket initialized\n"; + + SOCKET mainSocket = socket( AF_INET, SOCK_STREAM, IPPROTO_TCP ); + if (mainSocket == INVALID_SOCKET) { + cout << "Network.Socket.winInit: Fatal error: Error creating socket: " << WSAGetLastError(); + WSACleanup(); + return 1; + } + + cout << "Network.Socket.winInit: Socket created\n"; + + sockaddr_in service; + memset( & service, 0, sizeof(service) ); + service.sin_family = AF_INET; + service.sin_addr.s_addr = inet_addr(NET_SOCK_ADDR); + service.sin_port = htons(NET_SOCK_PORT); + + cout << "Network.Socket.winInit: Socket configured\n"; + + if (bind(mainSocket, (SOCKADDR *) & service, sizeof(service)) == SOCKET_ERROR ) { + cout << "Network.Socket.winInit: Fatal error: Bind failed\n"; + closesocket(mainSocket); + return 1; + } + + cout << "Network.Socket.winInit: Socket bound to address " << NET_SOCK_ADDR << " on port " << NET_SOCK_PORT << ". Ready to listen for connections\n"; + + return 0; + } + }; +}; + +int main() { + cout << "mcc v0.0.0\n"; + Network net; + net::Socket socket; + socket.winInit(); + + return 0; +}