Giter Site home page Giter Site logo

adepierre / botcraft Goto Github PK

View Code? Open in Web Editor NEW
397.0 397.0 41.0 75.31 MB

Botcraft is a cross-platform C++ library to create bots that connect and interact with Minecraft servers with (optional) integrated OpenGL renderer

License: GNU General Public License v3.0

CMake 3.93% C++ 92.99% Shell 0.02% JavaScript 0.50% CSS 2.40% HTML 0.16%
bot client cpp minecraft opengl

botcraft's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

botcraft's Issues

Where to find system chat messages?

I was joining on few servers out in the wild and there is some messages that are not quiet "chat", where I can find hook to them?

Btw, is there a discord server or something for real time / more comfortable chat?

No entity information

Would be cool to have entity manager parse entity data packets in order to get what entities are, want to make a simple player detector that will log players and chat on the server.

How to Install?

Sorry if this is a stupid question but I tried opening this project in visual studio and doing the cmake thing which I think just builds the .lib files. I then referenced the .lib files and the header files in a new visual studio project. But I just keep on getting thrown errors saying that a bunch of new source files are missing and it cant open the include files I did list. Any help would be appreciated.

Timeout from server after 15 seconds

I am trying to run example 2 on a local vanilla server and it does not work. It seems there is some heavy enough task to keep 1 core occupied for more that 15 seconds after logging on. Testing on Apple MacBook 13 inch Core 2 Duo (running server in background too) (upgraded to 16GB of ram so no issues here). Tried to interrupt with gdb and look what is causing trouble but only facing timers.
Any idea on this?
pic

client crashes

Warning, your version of botcraft hasn't been compiled with GUI enabled, setting use_renderer_ to false
Loading blocks from file...
Error reading info block file at ../Assets/1.17.1/custom/Blocks_info.json
[json.exception.parse_error.101] parse error at line 1, column 1: syntax error while parsing value - unexpected end of input; expected '[', '{', or a literal
Done!
Loading biomes from file...
Error reading biome file at ../Assets/1.17.1/custom/Biomes.json
[json.exception.parse_error.101] parse error at line 1, column 1: syntax error while parsing value - unexpected end of input; expected '[', '{', or a literal
Done!
Loading items from file...
Error reading item file at ../Assets/1.17.1/custom/Items.json
[json.exception.parse_error.101] parse error at line 1, column 1: syntax error while parsing value - unexpected end of input; expected '[', '{', or a literal
Done!
Clearing cache from memory...
Done!
Starting connection process using login and password
Trying to connect to mc.vega-craft.ru:25565
Connected to server.
fish: Job 1, 'bin/1_UserControlledExample --a…' terminated by signal SIGSEGV (Address boundary error)

Can't run any example, fails with similar output

segfault in networking code

Hi,

Soon after connecting the latest botcraft produces a segfault:

folkert@minecraft:~/Botcraft/Examples/test/src$ gdb ../../../bin/test_d
GNU gdb (Ubuntu 9.2-0ubuntu1~20.04.1) 9.2
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ../../../bin/test_d...
(gdb) r
Starting program: /home/folkert/Botcraft/bin/test_d
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[2022-06-06 14:15:52.369] [INFO] [main(140737329416064)] AssetsManager.cpp(26): Loading blocks from file...
[2022-06-06 14:15:52.370] [ERROR] [main(140737329416064)] AssetsManager.cpp(152): Error reading info block file at ./Assets/1.18.2/custom/Blocks_info.json
[json.exception.parse_error.101] parse error at line 1, column 1: syntax error while parsing value - unexpected end of input; expected '[', '{', or a literal
[2022-06-06 14:15:52.370] [INFO] [main(140737329416064)] AssetsManager.cpp(28): Done!
[2022-06-06 14:15:52.370] [INFO] [main(140737329416064)] AssetsManager.cpp(29): Loading biomes from file...
[2022-06-06 14:15:52.370] [ERROR] [main(140737329416064)] AssetsManager.cpp(538): Error reading biome file at ./Assets/1.18.2/custom/Biomes.json
[json.exception.parse_error.101] parse error at line 1, column 1: syntax error while parsing value - unexpected end of input; expected '[', '{', or a literal
[2022-06-06 14:15:52.370] [INFO] [main(140737329416064)] AssetsManager.cpp(31): Done!
[2022-06-06 14:15:52.370] [INFO] [main(140737329416064)] AssetsManager.cpp(32): Loading items from file...
[2022-06-06 14:15:52.370] [ERROR] [main(140737329416064)] AssetsManager.cpp(629): Error reading item file at ./Assets/1.18.2/custom/Items.json
[json.exception.parse_error.101] parse error at line 1, column 1: syntax error while parsing value - unexpected end of input; expected '[', '{', or a literal
[2022-06-06 14:15:52.370] [INFO] [main(140737329416064)] AssetsManager.cpp(34): Done!
[2022-06-06 14:15:52.370] [INFO] [main(140737329416064)] AssetsManager.cpp(44): Clearing cache from memory...
[2022-06-06 14:15:52.370] [INFO] [main(140737329416064)] AssetsManager.cpp(46): Done!
[New Thread 0x7ffff6868700 (LWP 2616063)]
[2022-06-06 14:15:52.371] [INFO] [main(140737329416064)] test.cpp(21): Starting connection process
[2022-06-06 14:15:52.372] [INFO] [main(140737329416064)] Authentifier.cpp(144): Cached Minecraft token for Microsoft account still valid.
[New Thread 0x7ffff6067700 (LWP 2616064)]
[2022-06-06 14:15:52.373] [INFO] [main(140737329416064)] TCP_Com.cpp(28): Trying to connect to 127.0.0.1:25565
[New Thread 0x7ffff5866700 (LWP 2616065)]
[2022-06-06 14:15:52.374] [INFO] [NetworkIOService(140737312614144)] TCP_Com.cpp(93): Connected to server.
[New Thread 0x7ffff5027700 (LWP 2616074)]
terminate called after throwing an instance of 'std::runtime_error'
  what():  Not enough input in ReadData<VarInt>

Thread 3 "test_d" received signal SIGABRT, Aborted.
[Switching to Thread 0x7ffff6067700 (LWP 2616064)]
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50      ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x00007ffff6c20859 in __GI_abort () at abort.c:79
#2  0x00007ffff6ff8911 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
#3  0x00007ffff700438c in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
#4  0x00007ffff70043f7 in std::terminate() () from /lib/x86_64-linux-gnu/libstdc++.so.6
#5  0x00007ffff70046a9 in __cxa_throw () from /lib/x86_64-linux-gnu/libstdc++.so.6
#6  0x00007ffff7cdb537 in ProtocolCraft::ReadData<ProtocolCraft::VarType<int> > (iter=0 '\000', length=@0x7ffff6066cd8: 0) at /home/folkert/Botcraft/protocolCraft/src/BinaryReadWrite.cpp:84
#7  0x00007ffff7c450bb in ProtocolCraft::CommandNode::ReadImpl (this=0x7ffff0125ce0, iter=0 '\000', length=@0x7ffff6066cd8: 0) at /home/folkert/Botcraft/protocolCraft/include/protocolCraft/Types/CommandNode/CommandNode.hpp:106
#8  0x00007ffff7a74829 in ProtocolCraft::NetworkType::Read (this=0x7ffff0125ce0, iter=0 '\000', length=@0x7ffff6066cd8: 0) at /home/folkert/Botcraft/protocolCraft/include/protocolCraft/NetworkType.hpp:21
#9  0x00007ffff7c45a91 in ProtocolCraft::ClientboundCommandsPacket::ReadImpl (this=0x7ffff0018ce0, iter=0 '\000', length=@0x7ffff6066cd8: 0) at /home/folkert/Botcraft/protocolCraft/include/protocolCraft/Messages/Play/Clientbound/ClientboundCommandsPacket.hpp:72
#10 0x00007ffff7a74829 in ProtocolCraft::NetworkType::Read (this=0x7ffff0018ce0, iter=0 '\000', length=@0x7ffff6066cd8: 0) at /home/folkert/Botcraft/protocolCraft/include/protocolCraft/NetworkType.hpp:21
#11 0x00007ffff7c2446a in Botcraft::NetworkManager::ProcessPacket (this=0x555555611d20, packet=std::vector of length 27750, capacity 27750 = {...}) at /home/folkert/Botcraft/botcraft/src/Network/NetworkManager.cpp:224
#12 0x00007ffff7c242e2 in Botcraft::NetworkManager::WaitForNewPackets (this=0x555555611d20) at /home/folkert/Botcraft/botcraft/src/Network/NetworkManager.cpp:197
#13 0x00007ffff7ca4b5d in std::__invoke_impl<void, void (Botcraft::NetworkManager::*)(), Botcraft::NetworkManager*> (
    __f=@0x555555616640: (void (Botcraft::NetworkManager::*)(class Botcraft::NetworkManager * const)) 0x7ffff7c24008 <Botcraft::NetworkManager::WaitForNewPackets()>, __t=@0x555555616638: 0x555555611d20) at /usr/include/c++/9/bits/invoke.h:73
#14 0x00007ffff7ca41d8 in std::__invoke<void (Botcraft::NetworkManager::*)(), Botcraft::NetworkManager*> (__fn=@0x555555616640: (void (Botcraft::NetworkManager::*)(class Botcraft::NetworkManager * const)) 0x7ffff7c24008 <Botcraft::NetworkManager::WaitForNewPackets()>)
    at /usr/include/c++/9/bits/invoke.h:95
#15 0x00007ffff7ca3903 in std::thread::_Invoker<std::tuple<void (Botcraft::NetworkManager::*)(), Botcraft::NetworkManager*> >::_M_invoke<0ul, 1ul> (this=0x555555616638) at /usr/include/c++/9/thread:244
#16 0x00007ffff7ca2728 in std::thread::_Invoker<std::tuple<void (Botcraft::NetworkManager::*)(), Botcraft::NetworkManager*> >::operator() (this=0x555555616638) at /usr/include/c++/9/thread:251
#17 0x00007ffff7c97f68 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (Botcraft::NetworkManager::*)(), Botcraft::NetworkManager*> > >::_M_run (this=0x555555616630) at /usr/include/c++/9/thread:195
#18 0x00007ffff7030de4 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
#19 0x00007ffff7144609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#20 0x00007ffff6d1d163 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

It is not specific to my code:

folkert@minecraft:~/Botcraft/Examples/0_HelloWorld/src$ ../../../bin/0_HelloWorld_d
[2022-06-06 14:19:16.880] [WARNING] [main(140653387777920)] main.cpp(36): No command arguments. Using default options.
Usage: ../../../bin/0_HelloWorld_d <options>
Options:
        -h, --help      Show this help message
        --address       Address of the server you want to connect to, default: 127.0.0.1:25565
        --login         Player name in offline mode, login for Mojang account, empty for Microsoft account, default: BCHelloWorld
        --password      Mojang account password, empty for servers in offline mode or Microsoft account, default: empty

[2022-06-06 14:19:16.882] [INFO] [main(140653387777920)] main.cpp(88): Starting connection process
[2022-06-06 14:19:16.883] [WARNING] [main(140653387777920)] Authentifier.cpp(133): Missing or malformed cached credentials for Microsoft account, starting auth flow...
[2022-06-06 14:19:16.883] [INFO] [main(140653387777920)] Authentifier.cpp(149): Trying to get Microsoft access token...
[2022-06-06 14:19:16.883] [ERROR] [main(140653387777920)] Authentifier.cpp(573): Error trying to get cached Microsoft credentials
[2022-06-06 14:19:16.884] [INFO] [main(140653387777920)] Authentifier.cpp(575): Starting authentication process...
To sign in, use a web browser to open the page https://www.microsoft.com/link and enter the code MC4DLAWR to authenticate.
[2022-06-06 14:19:17.274] [INFO] [main(140653387777920)] Authentifier.cpp(683): To sign in, use a web browser to open the page https://www.microsoft.com/link and enter the code MC4DLAWR to authenticate.
[2022-06-06 14:20:01.828] [INFO] [main(140653387777920)] Authentifier.cpp(765): Newly obtained Microsoft token stored in cache
[2022-06-06 14:20:01.828] [INFO] [main(140653387777920)] Authentifier.cpp(157): Trying to get XBL token...
[2022-06-06 14:20:02.585] [INFO] [main(140653387777920)] Authentifier.cpp(164): XBL token obtained!
[2022-06-06 14:20:02.585] [INFO] [main(140653387777920)] Authentifier.cpp(166): Trying to get XSTS token...
[2022-06-06 14:20:03.315] [INFO] [main(140653387777920)] Authentifier.cpp(173): XSTS token obtained!
[2022-06-06 14:20:03.315] [INFO] [main(140653387777920)] Authentifier.cpp(175): Trying to get MC token...
[2022-06-06 14:20:03.493] [INFO] [main(140653387777920)] Authentifier.cpp(182): MC token obtained! Almost there...
[2022-06-06 14:20:03.493] [INFO] [main(140653387777920)] Authentifier.cpp(190): Assuming the account owns Minecraft...
[2022-06-06 14:20:03.493] [INFO] [main(140653387777920)] Authentifier.cpp(192): Trying to get MC profile...
[2022-06-06 14:20:03.651] [INFO] [main(140653387777920)] Authentifier.cpp(199): MC profile obtained!
[2022-06-06 14:20:03.651] [INFO] [main(140653387777920)] Authentifier.cpp(201): Authentication completed!
[2022-06-06 14:20:03.651] [INFO] [main(140653387777920)] TCP_Com.cpp(28): Trying to connect to 127.0.0.1:25565
[2022-06-06 14:20:03.652] [INFO] [NetworkIOService(140653379114752)] TCP_Com.cpp(93): Connected to server.
terminate called after throwing an instance of 'std::runtime_error'
  what():  Not enough input in ReadData<VarInt>
Aborted (core dumped)

ProtocolCraft::Slot writes NBT data incorrectly (1.16.3)

Example:

auto inv = inventory_manager->GetPlayerInventory();
auto slots = inv->GetSlots();
for (int i = 0; i < slots.size(); i++)
{
    auto items = AssetsManager::getInstance().Items();
    auto slot = slots[i];
    auto item = items[slot.GetItemID()];

    if (item->GetName() != "minecraft:air")
    {
        printf("SLOT NBT:\n");
        printf("%s\n", slot.GetNBT().SerializeImpl().serialize(true).c_str());
        printf("Slot: %i, ID: %i, Name: %s, Count: %i\n", i, slot.GetItemID(), item->GetName().c_str(), slot.GetItemCount());
        std::shared_ptr<ProtocolCraft::ClickWindow> Packet(new ClickWindow);
        Packet->SetWindowId(0);
        Packet->SetSlot(i);
        Packet->SetButton(1);
        Packet->SetActionNumber(1);
        Packet->SetMode(4);
        Packet->SetClickedItem(slot);
        network_manager->Send(Packet);

        break;
    }
}

(sorry for the messy code)

This code will drop the first item slot in the client. It works fine for any item without NBT data attached to it.

If the item has attached nbt data (ex. flint & steel, enchanted armor, etc.) the server will disconnect you with this:

Internal Exception: io.netty.handler.codec.DecoderException: io.netty.handler.codec.EncoderException: java.io.IOException: Root tag must be a named compound tag

Also I love your library had a lot of fun making fun bots with your API =]

Add example on how to use Botcraft to PLAY minecraft

I want to use Botcraft to play minecraft normally, like with a mouse and keyboard to interact with the world, how do I do that? all I see in examples is code that is being used to bot minecraft.

could you post code that shows how to do that?

Release

Can you make a release, please?

Botcraft doesn't seem to connect in anyway - status code 403

So I have everything built and compiled, but the code from the examples don't connect to any server at all.
I'm running both the examples binaries and the server at an Ubuntu 18.04.5 LTS. both are using protocol 498 (1.14.4)

1. If I don't put arguments, it connects but automatically disconnects after.

a
Console:

root@dayos:/usr/local/bin# ./2_ChatCommandExample
No command arguments. Using default options.
Usage: 2_ChatCommandExample [address](127.0.0.1:25565) [login](BCChatCommand) [password]()
Loading blocks from file...
Done!
Loading biomes from file...
Done!
Loading items from file...
Done!
Clearing cache from memory...
Done!
Known commands:
    Pathfinding to position:
        name goto x y z
    Stop current pathfinding:
        name stop
    Check perimeter for spawnable blocks and save spawnable positions to file:
        name check_perimeter [x y z (default = player position)] radius (default = 128) [check_lighting (default = true)]
    Disconnect:
        name die
    Place a block:
        name place_block minecraft:item x y z
    Interact (right click) a block:
        name interact x y z
Starting connection process
Trying to connect to 127.0.0.1:25565
Connected to server.
terminate called after throwing an instance of 'std::runtime_error'
  what():  Not enough input in ReadString
Aborted (core dumped)

2. If I put the default options as arguments at those same files (but changing the password, as the lack of it returns the first error), it doesn't connect at all

root@dayos:/usr/local/bin# ./2_ChatCommandExample 127.0.0.1:25565 BCChatCommand password
Loading blocks from file...
Done!
Loading biomes from file...
Done!
Loading items from file...
Done!
Clearing cache from memory...
Done!
Known commands:
    Pathfinding to position:
        name goto x y z
    Stop current pathfinding:
        name stop
    Check perimeter for spawnable blocks and save spawnable positions to file:
        name check_perimeter [x y z (default = player position)] radius (default = 128) [check_lighting (default = true)]
    Disconnect:
        name die
    Place a block:
        name place_block minecraft:item x y z
    Interact (right click) a block:
        name interact x y z
Starting connection process
Trying to connect to 127.0.0.1:25565
Connected to server.
Authentication response returned with status code 403

3. 1_UserControlledExample seems to work, but it doesn't connect either

Console:

root@dayos:/usr/local/bin# ./1_UserControlledExample 0 127.0.0.1:25565 BCUserControl password
Warning, your version of botcraft hasn't been compiled with GUI enabled, setting use_renderer_ to false
Loading blocks from file...
Done!
Loading biomes from file...
Done!
Loading items from file...
Done!
Clearing cache from memory...
Done!
Client created!
Creating world...
Done!

I'm assuming that it might be because I'm not using GUI, but I found this relevant anyway.

Cmake glfw3 error

Determining if the pthread_create exist failed with the following output:
Change Dir: /home/abas/Botcraft/build/3rdparty/glfw/CMakeFiles/CMakeTmp

Run Build Command:"/usr/bin/make" "cmTC_4e528/fast"
/usr/bin/make -f CMakeFiles/cmTC_4e528.dir/build.make CMakeFiles/cmTC_4e528.dir/build
make[1]: Entering directory '/home/abas/Botcraft/build/3rdparty/glfw/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_4e528.dir/CheckSymbolExists.c.o
/usr/bin/cc -o CMakeFiles/cmTC_4e528.dir/CheckSymbolExists.c.o -c /home/abas/Botcraft/build/3rdparty/glfw/CMakeFiles/CMakeTmp/CheckSymbolExists.c
Linking C executable cmTC_4e528
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_4e528.dir/link.txt --verbose=1
/usr/bin/cc -rdynamic CMakeFiles/cmTC_4e528.dir/CheckSymbolExists.c.o -o cmTC_4e528
/usr/bin/ld: CMakeFiles/cmTC_4e528.dir/CheckSymbolExists.c.o: in function main': CheckSymbolExists.c:(.text+0x1b): undefined reference to pthread_create'
collect2: error: ld returned 1 exit status
make[1]: *** [CMakeFiles/cmTC_4e528.dir/build.make:87: cmTC_4e528] Error 1
make[1]: Leaving directory '/home/abas/Botcraft/build/3rdparty/glfw/CMakeFiles/CMakeTmp'
make: *** [Makefile:121: cmTC_4e528/fast] Error 2

File /home/abas/Botcraft/build/3rdparty/glfw/CMakeFiles/CMakeTmp/CheckSymbolExists.c:
/* */
#include <pthread.h>

int main(int argc, char** argv)
{
(void)argv;
#ifndef pthread_create
return ((int*)(&pthread_create))[argc];
#else
(void)argc;
return 0;
#endif
}

Determining if the function pthread_create exists in the pthreads failed with the following output:
Change Dir: /home/abas/Botcraft/build/3rdparty/glfw/CMakeFiles/CMakeTmp

Run Build Command:"/usr/bin/make" "cmTC_1179c/fast"
/usr/bin/make -f CMakeFiles/cmTC_1179c.dir/build.make CMakeFiles/cmTC_1179c.dir/build
make[1]: Entering directory '/home/abas/Botcraft/build/3rdparty/glfw/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_1179c.dir/CheckFunctionExists.c.o
/usr/bin/cc -DCHECK_FUNCTION_EXISTS=pthread_create -o CMakeFiles/cmTC_1179c.dir/CheckFunctionExists.c.o -c /usr/share/cmake-3.13/Modules/CheckFunctionExists.c
Linking C executable cmTC_1179c
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_1179c.dir/link.txt --verbose=1
/usr/bin/cc -DCHECK_FUNCTION_EXISTS=pthread_create -rdynamic CMakeFiles/cmTC_1179c.dir/CheckFunctionExists.c.o -o cmTC_1179c -lpthreads
/usr/bin/ld: cannot find -lpthreads
collect2: error: ld returned 1 exit status
make[1]: *** [CMakeFiles/cmTC_1179c.dir/build.make:87: cmTC_1179c] Error 1
make[1]: Leaving directory '/home/abas/Botcraft/build/3rdparty/glfw/CMakeFiles/CMakeTmp'
make: *** [Makefile:121: cmTC_1179c/fast] Error 2

wrong position used in map, dirty-fixes

It looks like the Chunk::block_entities_data map has the world position as a key (example, I have a world where at position 9, 68, -11 there is a sign), but when I step through the function calls the Chunk::GetBlockEntityData gets the position within the chunk (9, 68, 5), and therefore it doesn't find the sign in the entities data map. I have dirty-fixed it by changing lines 591 and 603 in Botcraft\botcraft\src\Game\World\World.cpp to not use your pos.x % chunk_width... snake but instead just handing down the original positions. I am a bit afraid of adding a pull request because I wasn't able to find the code filling up that map in the first place so I have no idea if my "fixes" break anything, can you tell me where that code is? I have also changed another thing in the InventoryManager that fixed the actual issue I had without being able to verify that I haven't accidentally broke something, do you have any tests or something like that I could use?

Unable to compile - Zlib

Hello,

I'm unable to compile your project (tried Windows and WSL).
It seems like ZLIB is missing / improperly configured in the CMake file.

image

Many thanks for your assistance!

Lua Scripting API

Lua is a popular embedded scripting language.

It would be very awesome if lua scripting was provided in botcraft. It would make the bot creation process a lot easier, no need to compile or anything of that sort.

I recreated the hello world bot example in lua:

local client = InterfaceClient.new(true, false)
client:SetAutoRespawn(true)
client:Connect(ip, port, login, password)
wait(5)
client:Say("Hi there!")
wait(5)
client:Disconnect()

I put together a quick example of how this could work using the sol2 library:

sol::state lua;
lua.open_libraries(
    sol::lib::base, 
    sol::lib::bit32, 
    sol::lib::coroutine, 
    sol::lib::io, 
    sol::lib::math, 
    sol::lib::os, 
    sol::lib::package, 
    sol::lib::string, 
    sol::lib::table, 
    sol::lib::utf8);


sol::usertype<Botcraft::InterfaceClient> InterfaceClient_bind = lua.new_usertype<Botcraft::InterfaceClient>("InterfaceClient",
    sol::constructors<Botcraft::InterfaceClient(const bool, const bool)>());

lua["wait"] = [](long seconds) -> bool 
{
    std::this_thread::sleep_for(std::chrono::seconds(seconds));
    return true;
};

InterfaceClient_bind["Connect"] = &Botcraft::InterfaceClient::Connect;
InterfaceClient_bind["Disconnect"] = &Botcraft::InterfaceClient::Disconnect;
InterfaceClient_bind["Say"] = &Botcraft::InterfaceClient::Say;
InterfaceClient_bind["Respawn"] = &Botcraft::InterfaceClient::Respawn;
InterfaceClient_bind["SetAutoRespawn"] = &Botcraft::InterfaceClient::SetAutoRespawn;

I enjoy the thought of people being able to share their minecraft bots with a short lua script.

Compilation error(I'm new with CMake)

What did I do wrong??? in console :

C:\[Hided]>"C:\Program Files\CMake\bin\cmake.exe" -DGAME_VERSION=latest -DBOTCRAFT_BUILD_EXAMPLES=ON -DBOTCRAFT_COMPRESSION=ON -DBOTCRAFT_ENCRYPTION=ON -DBOTCRAFT_USE_OPENGL_GUI=OFF
CMake Warning:
  No source or binary directory provided.  Both will be assumed to be the
  same as the current working directory, but note that this warning will
  become a fatal error in future CMake releases.


-- The C compiler identification is unknown
-- The CXX compiler identification is unknown
CMake Error at CMakeLists.txt:1 (project):
  The CMAKE_C_COMPILER:

    cl

  is not a full path and was not found in the PATH.

  To use the NMake generator with Visual C++, cmake must be run from a shell
  that can use the compiler cl from the command line.  This environment is
  unable to invoke the cl compiler.  To fix this problem, run cmake from the
  Visual Studio Command Prompt (vcvarsall.bat).

  Tell CMake where to find the compiler by setting either the environment
  variable "CC" or the CMake cache entry CMAKE_C_COMPILER to the full path to
  the compiler, or to the compiler name if it is in the PATH.


CMake Error at CMakeLists.txt:1 (project):
  The CMAKE_CXX_COMPILER:

    cl

  is not a full path and was not found in the PATH.

  To use the NMake generator with Visual C++, cmake must be run from a shell
  that can use the compiler cl from the command line.  This environment is
  unable to invoke the cl compiler.  To fix this problem, run cmake from the
  Visual Studio Command Prompt (vcvarsall.bat).

  Tell CMake where to find the compiler by setting either the environment
  variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path
  to the compiler, or to the compiler name if it is in the PATH.


CMake Warning (dev) in CMakeLists.txt:
  No cmake_minimum_required command is present.  A line of code such as

    cmake_minimum_required(VERSION 3.23)

  should be added at the top of the file.  The version specified may be lower
  if you wish to support older CMake versions for this project.  For more
  information run "cmake --help-policy CMP0000".
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Configuring incomplete, errors occurred!
See also "C:/[hided]/Botcraft-master/botcraft/CMakeFiles/CMakeOutput.log".
See also "C:/[hided]/Botcraft-master/botcraft/CMakeFiles/CMakeError.log".

In CMakeError.log :

Compiling the C compiler identification source file "CMakeCCompilerId.c" failed.
Compiler: cl 
Build flags: 
Id flags:  

The output was:
The system cannot find the file specified

document how to work with the microsoft authentication

Hi,

Beginning of March, all accounts are migrated to microsoft accounts. From what I read Botcraft supports this.
But how?
Running the included examples with the microsoft credentials doesn't work (invalid auth) and also the description ("leave empty") is confusing (how does it know how to authenticate if everything is left empty?).

thanks!

After joining server getting runtime error

terminate called after throwing an instance of 'std::runtime_error'
  what():  Not enough input in ReadString

Thread 2 "2_ChatCommandEx" received signal SIGABRT, Aborted.
[Switching to Thread 0x7ffff6da9700 (LWP 239202)]
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50	../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x00007ffff78a2859 in __GI_abort () at abort.c:79
#2  0x00007ffff7b28951 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#3  0x00007ffff7b3447c in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#4  0x00007ffff7b344e7 in std::terminate() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#5  0x00007ffff7b34799 in __cxa_throw () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#6  0x00007ffff7e54e53 in ProtocolCraft::ReadString[abi:cxx11](__gnu_cxx::__normal_iterator<unsigned char const*, std::vector<unsigned char, std::allocator<unsigned char> > >&, unsigned long&) (iter=8 '\b', 
    length=@0x7ffff6da8d28: 2476) at /home/max/p/Botcraft/protocolCraft/src/BinaryReadWrite.cpp:109
#7  0x00007ffff7ec8766 in ProtocolCraft::Recipe::ReadImpl (this=0x7fffe8013078, iter=8 '\b', length=@0x7ffff6da8d28: 2476) at /home/max/p/Botcraft/protocolCraft/include/protocolCraft/Types/Recipes/Recipe.hpp:54
#8  0x00007ffff7ebe0b3 in ProtocolCraft::NetworkType::Read (length=@0x7ffff6da8d28: 2476, iter=8 '\b', this=<optimized out>) at /home/max/p/Botcraft/protocolCraft/include/protocolCraft/NetworkType.hpp:16
#9  ProtocolCraft::ClientboundUpdateRecipesPacket::ReadImpl (this=0x7fffe80227a0, iter=8 '\b', length=@0x7ffff6da8d28: 2476)
    at /home/max/p/Botcraft/protocolCraft/include/protocolCraft/Messages/Play/Clientbound/ClientboundUpdateRecipesPacket.hpp:54
#10 0x00007ffff7eb9201 in ProtocolCraft::NetworkType::Read (length=@0x7ffff6da8d28: 2476, iter=8 '\b', this=<optimized out>) at /home/max/p/Botcraft/protocolCraft/include/protocolCraft/NetworkType.hpp:16
#11 Botcraft::NetworkManager::ProcessPacket (this=0x555561b0dd20, packet=...) at /home/max/p/Botcraft/botcraft/src/Network/NetworkManager.cpp:222
#12 0x00007ffff7eb946b in Botcraft::NetworkManager::WaitForNewPackets (this=0x555561b0dd20) at /home/max/p/Botcraft/botcraft/src/Network/NetworkManager.cpp:195
#13 0x00007ffff7b60d84 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#14 0x00007ffff7c74609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#15 0x00007ffff799f293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

"Not enough input in ReadString" at all Examples files

I missclicked a bunch before writing it down lol.

Anyway, I'm getting this error when trying to execute one of those examples:

Usage: 0_HelloWorld [address](127.0.0.1:25565) [login](BCHelloWorld) [password]()
Warning, your version of botcraft hasn't been compiled with GUI enabled, setting use_renderer_ to false
Loading blocks from file...
Done!
Loading biomes from file...
Done!
Loading items from file...
Done!
Clearing cache from memory...
Done!
Starting connection process
Trying to connect to 127.0.0.1:25565
Connected to server.
terminate called after throwing an instance of 'std::runtime_error'
  what():  Not enough input in ReadString

I'm still learning C++, so I don't get this stuff that well.

Microsoft authorization fail

Today I tried to use my Microsoft account and was greeted with 400 Bad request with contents {"error":"IllegalArgumentException","errorMessage":"Access Token can not be null or empty."}, however all tokens were in place and printing before executing request showed them perfectly fine.

Maybe fields are named wrong or it is missing one of them? How can I debug it further or find docs on this @adepierre?

protocol only

Is there a set of the code with only the protocol, for those who want to make seperate renderers?

Undefined reference?

Hey, sorry I know this is probably a really stupid question but everytime I try to link I get undefined reference to Botcraft::BaseClient::Handle(ProtocolCraft::ClientboundContainerAckPacket&)`. I'm really sorry I know there's probably a simple solution that I'm missing out on but everytime I run make i encounter this error.

Right now I have an empty main file but my files look something like this:

#include <iostream>
#include "KitteaMinecraftClient.h"

using namespace Botcraft;
using namespace ProtocolCraft;

KitteaMinecraftClient::KitteaMinecraftClient(const bool use_renderer_, const bool is_afk_) : InterfaceClient(use_renderer_, is_afk_) {

}

KitteaMinecraftClient::~KitteaMinecraftClient() {

}

void KitteaMinecraftClient::Handle(ClientboundChatPacket &msg) {
    Botcraft::BaseClient::Handle(msg);
}
#pragma once
#include <botcraft/Game/InterfaceClient.hpp>

class KitteaMinecraftClient: public Botcraft::InterfaceClient {
public:
    KitteaMinecraftClient(const bool use_renderer_, const bool is_afk_);
    ~KitteaMinecraftClient();

protected:
    virtual void Handle(ProtocolCraft::ClientboundChatPacket &msg) override;
};
cmake_minimum_required(VERSION 3.16)
project(kittea_bot)

set(CMAKE_CXX_STANDARD 20)
add_executable(kittea-bot src/main.cpp src/KitteaMinecraftClient.cpp)
target_link_directories(kittea-bot PUBLIC /usr/local/bin)

target_link_libraries(kittea-bot dpp)
target_link_libraries(kittea-bot botcraft)
target_include_directories(kittea-bot PRIVATE
        include
)

set_target_properties(kittea-bot PROPERTIES
        CXX_STANDARD 20
        CXX_STANDARD_REQUIRED ON
)

make all Error

I ran into an error while following the build instructions, any help would be appreciated. :)

gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04)

Error occured while running make all:
https://pastebin.com/EmRTBngL

Improve docs on behavour trees and builders

I just can not understand what happened while I was not paying attention to the Botcraft.
What are those trees? Why trees? Why not just handlers of packets and simple loops?
What is this hell?! (https://github.com/adepierre/Botcraft/blob/master/Examples/4_MapCreatorExample/src/main.cpp#L280)
Where is good old onTick or onPacket?
What does selector, inverter, leaf, end and sequence do? Where can I find how to make my own trees?
In my opinion such trees add unnecessary complexity to the code, build up backtraces and require much more additional calls...

Confusing CMake error.

Hey there!

Having a fun issue when compiling the program.

I followed your example here:
#45

When making the program, I encountered the error:

CMake Error at Botcraft/botcraft/CMakeLists.txt:127 (add_library):
  Target "botcraft" links to target "ZLIB::ZLIB" but the target was not
  found.  Perhaps a find_package() call is missing for an IMPORTED target, or
  an ALIAS target is missing?

Full log:
https://hastebin.com/yujutikefi.yaml

Thanks!

Silently not connecting to server

Sometimes it does, sometimes it does not, not reliable, server is ok and I'm passing authorization.
Some state of demo at the moment of not loading world:
1
2
3
Just nothing happens...

Make all build error while building protocolCraft

Os: Ubuntu server 21.04
cmake version: 3.18.4
g++ version: g++ (Ubuntu 10.3.0-1ubuntu1) 10.3.0

Followed, the exact build procedure is written in instructions.

error log:

[ 15%] Built target protocolCraft
[ 15%] Building CXX object botcraft/CMakeFiles/botcraft.dir/src/Network/TCP_Com.cpp.o
In file included from /home/user/Botcraft/botcraft/src/Network/TCP_Com.cpp:3:
/home/user/Botcraft/protocolCraft/include/protocolCraft/BinaryReadWrite.hpp: In function 'T ProtocolCraft::ReadData(ProtocolCraft::ReadIterator&, size_t&)':
/home/user/Botcraft/protocolCraft/include/protocolCraft/BinaryReadWrite.hpp:53:24: error: 'runtime_error' is not a member of 'std'
   53 |             throw(std::runtime_error("Wrong input size in ReadData"));
      |                        ^~~~~~~~~~~~~
/home/user/Botcraft/protocolCraft/include/protocolCraft/BinaryReadWrite.hpp: In function 'std::vector<T> ProtocolCraft::ReadArrayData(ProtocolCraft::ReadIterator&, size_t&, size_t)':
/home/user/Botcraft/protocolCraft/include/protocolCraft/BinaryReadWrite.hpp:144:24: error: 'runtime_error' is not a member of 'std'
  144 |             throw(std::runtime_error("Wrong input size in ReadArrayData"));
      |                        ^~~~~~~~~~~~~
/home/user/Botcraft/protocolCraft/include/protocolCraft/BinaryReadWrite.hpp: In function 'T ProtocolCraft::ReadData(ProtocolCraft::ReadIterator&, size_t&) [with T = unsigned char]':
/home/user/Botcraft/protocolCraft/include/protocolCraft/BinaryReadWrite.hpp:80:5: warning: control reaches end of non-void function [-Wreturn-type]
   80 |     }
      |     ^
/home/user/Botcraft/protocolCraft/include/protocolCraft/BinaryReadWrite.hpp: In function 'T ProtocolCraft::ReadData(ProtocolCraft::ReadIterator&, size_t&) [with T = short unsigned int]':
/home/user/Botcraft/protocolCraft/include/protocolCraft/BinaryReadWrite.hpp:80:5: warning: control reaches end of non-void function [-Wreturn-type]
   80 |     }
      |     ^
/home/user/Botcraft/protocolCraft/include/protocolCraft/BinaryReadWrite.hpp: In function 'T ProtocolCraft::ReadData(ProtocolCraft::ReadIterator&, size_t&) [with T = char]':
/home/user/Botcraft/protocolCraft/include/protocolCraft/BinaryReadWrite.hpp:80:5: warning: control reaches end of non-void function [-Wreturn-type]
   80 |     }
      |     ^
/home/user/Botcraft/protocolCraft/include/protocolCraft/BinaryReadWrite.hpp: In function 'T ProtocolCraft::ReadData(ProtocolCraft::ReadIterator&, size_t&) [with T = short int]':
/home/user/Botcraft/protocolCraft/include/protocolCraft/BinaryReadWrite.hpp:80:5: warning: control reaches end of non-void function [-Wreturn-type]
   80 |     }
      |     ^
/home/user/Botcraft/protocolCraft/include/protocolCraft/BinaryReadWrite.hpp: In function 'T ProtocolCraft::ReadData(ProtocolCraft::ReadIterator&, size_t&) [with T = unsigned int]':
/home/user/Botcraft/protocolCraft/include/protocolCraft/BinaryReadWrite.hpp:80:5: warning: control reaches end of non-void function [-Wreturn-type]
   80 |     }
      |     ^
make[2]: *** [botcraft/CMakeFiles/botcraft.dir/build.make:2331: botcraft/CMakeFiles/botcraft.dir/src/Network/TCP_Com.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:305: botcraft/CMakeFiles/botcraft.dir/all] Error 2
make: *** [Makefile:149: all] Error 2

thread safe?

Hi,

If I wanted to create a bot via some algorithm outside the behaviour-tree code, can I assume that methods like entity_manager->GetLocalPlayer()->SetPosition() and entity_manager->GetLocalPlayer()->GetPosition() and such are thread safe? I mean I know there's a GetMutex in LocalPlayer, if I acquire/release that, am I good to go?

regards

p.s. having lots of fun with your library! very easy to work with.

killaura example?

For mob farms will be great to have simplest hostile mobs killaura example for easy deploy

Compilation error

/home/kenguru/Botcraft/botcraft/src/Network/Authentifier.cpp:692:31: error: ‘sleep_for’ is not a member of ‘std::this_thread’ 692 | std::this_thread::sleep_for(std::chrono::seconds(pool_interval + 1));
may be is necessary to add '#include ' and '-D_GLIBCXX_USE_NANOSLEEP'?

How to raycast to an entity?

I found World::Raycast but it works only with blocks, is it possible to make an entity raycast that will work similar to this?

undefined reference

Can someone explain why it wont compile? I am verry new to C++(I have only used java and a bit of python before) and I have no clue what could be cousing these issues.
I have added botcraft as a git submodule(git submodule add https://github.com/adepierre/Botcraft lib/botcraft).
Oh and im using clion(idk if that helps).

CmakeLists.txt

cmake_minimum_required(VERSION 3.22)
project(czeropthreebot)

set(CMAKE_CXX_STANDARD 11)

add_executable(czeropthreebot src/main.cpp)

add_definitions(-DGAME_VERSION=1.12.2 -DBOTCRAFT_BUILD_EXAMPLES=ON -DBOTCRAFT_COMPRESSION=ON -DBOTCRAFT_ENCRYPTION=ON -DBOTCRAFT_USE_OPENGL_GUI=OFF) #doesnt work???????????
add_subdirectory(lib/botcraft EXCLUDE_FROM_ALL)
target_link_libraries(czeropthreebot PRIVATE botcraft)

The error

====================[ Build | czeropthreebot | Debug ]==========================
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\cmake\win\bin\cmake.exe --build C:\Users\keesg\CLionProjects\czeropthreebot\cmake-build-debug --target czeropthreebot -j 6
[1/3] Building CXX object CMakeFiles/czeropthreebot.dir/src/main.cpp.obj
[2/3] Linking CXX shared library ..\bin\libbotcraft_d.dll
FAILED: ../bin/libbotcraft_d.dll ../lib/libbotcraft_d.dll.a 
cmd.exe /C "cd . && C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin\g++.exe -g   -shared -o ..\bin\libbotcraft_d.dll -Wl,--out-implib,..\lib\libbotcraft_d.dll.a -Wl,--major-image-version,0,--minor-image-version,0 @CMakeFiles\botcraft.rsp  && cd ."
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/botcraft/CMakeFiles/botcraft.dir/src/Network/Authentifier.cpp.obj: in function `asio::detail::winsock_init_base::startup(asio::detail::winsock_init_base::data&, unsigned char, unsigned char)':
C:/Users/keesg/CLionProjects/czeropthreebot/lib/botcraft/3rdparty/asio/asio/include/asio/detail/impl/winsock_init.ipp:38: undefined reference to `__imp_WSAStartup'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/botcraft/CMakeFiles/botcraft.dir/src/Network/Authentifier.cpp.obj: in function `asio::detail::winsock_init_base::cleanup(asio::detail::winsock_init_base::data&)':
C:/Users/keesg/CLionProjects/czeropthreebot/lib/botcraft/3rdparty/asio/asio/include/asio/detail/impl/winsock_init.ipp:55: undefined reference to `__imp_WSACleanup'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/botcraft/CMakeFiles/botcraft.dir/src/Network/Authentifier.cpp.obj: in function `asio::detail::socket_ops::clear_last_error()':
C:/Users/keesg/CLionProjects/czeropthreebot/lib/botcraft/3rdparty/asio/asio/include/asio/detail/impl/socket_ops.ipp:68: undefined reference to `__imp_WSASetLastError'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/botcraft/CMakeFiles/botcraft.dir/src/Network/Authentifier.cpp.obj: in function `asio::detail::socket_ops::close(unsigned long long, unsigned char&, bool, std::error_code&)':
C:/Users/keesg/CLionProjects/czeropthreebot/lib/botcraft/3rdparty/asio/asio/include/asio/detail/impl/socket_ops.ipp:314: undefined reference to `__imp_closesocket'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: C:/Users/keesg/CLionProjects/czeropthreebot/lib/botcraft/3rdparty/asio/asio/include/asio/detail/impl/socket_ops.ipp:331: undefined reference to `__imp_ioctlsocket'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: C:/Users/keesg/CLionProjects/czeropthreebot/lib/botcraft/3rdparty/asio/asio/include/asio/detail/impl/socket_ops.ipp:346: undefined reference to `__imp_closesocket'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/botcraft/CMakeFiles/botcraft.dir/src/Network/Authentifier.cpp.obj: in function `asio::detail::socket_ops::recv(unsigned long long, _WSABUF*, unsigned long long, int, std::error_code&)':
C:/Users/keesg/CLionProjects/czeropthreebot/lib/botcraft/3rdparty/asio/asio/include/asio/detail/impl/socket_ops.ipp:767: undefined reference to `__imp_WSARecv'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/botcraft/CMakeFiles/botcraft.dir/src/Network/Authentifier.cpp.obj: in function `asio::detail::socket_ops::send(unsigned long long, _WSABUF const*, unsigned long long, int, std::error_code&)':
C:/Users/keesg/CLionProjects/czeropthreebot/lib/botcraft/3rdparty/asio/asio/include/asio/detail/impl/socket_ops.ipp:1166: undefined reference to `__imp_WSASend'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/botcraft/CMakeFiles/botcraft.dir/src/Network/Authentifier.cpp.obj: in function `asio::detail::socket_ops::socket(int, int, int, std::error_code&)':
C:/Users/keesg/CLionProjects/czeropthreebot/lib/botcraft/3rdparty/asio/asio/include/asio/detail/impl/socket_ops.ipp:1394: undefined reference to `__imp_WSASocketW'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: C:/Users/keesg/CLionProjects/czeropthreebot/lib/botcraft/3rdparty/asio/asio/include/asio/detail/impl/socket_ops.ipp:1405: undefined reference to `__imp_setsockopt'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/botcraft/CMakeFiles/botcraft.dir/src/Network/Authentifier.cpp.obj: in function `asio::detail::socket_ops::poll_read(unsigned long long, unsigned char, int, std::error_code&)':
C:/Users/keesg/CLionProjects/czeropthreebot/lib/botcraft/3rdparty/asio/asio/include/asio/detail/impl/socket_ops.ipp:1833: undefined reference to `__imp_select'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/botcraft/CMakeFiles/botcraft.dir/src/Network/Authentifier.cpp.obj: in function `asio::detail::socket_ops::poll_write(unsigned long long, unsigned char, int, std::error_code&)':
C:/Users/keesg/CLionProjects/czeropthreebot/lib/botcraft/3rdparty/asio/asio/include/asio/detail/impl/socket_ops.ipp:1887: undefined reference to `__imp_select'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/botcraft/CMakeFiles/botcraft.dir/src/Network/Authentifier.cpp.obj: in function `asio::detail::socket_ops::poll_connect(unsigned long long, int, std::error_code&)':
C:/Users/keesg/CLionProjects/czeropthreebot/lib/botcraft/3rdparty/asio/asio/include/asio/detail/impl/socket_ops.ipp:1991: undefined reference to `__imp_select'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/botcraft/CMakeFiles/botcraft.dir/src/Network/Authentifier.cpp.obj: in function `asio::detail::socket_ops::translate_addrinfo_error(int)':
C:/Users/keesg/CLionProjects/czeropthreebot/lib/botcraft/3rdparty/asio/asio/include/asio/detail/impl/socket_ops.ipp:3304: undefined reference to `__imp_WSAGetLastError'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/botcraft/CMakeFiles/botcraft.dir/src/Network/Authentifier.cpp.obj: in function `asio::detail::socket_ops::getaddrinfo(char const*, char const*, addrinfo const&, addrinfo**, std::error_code&)':
C:/Users/keesg/CLionProjects/czeropthreebot/lib/botcraft/3rdparty/asio/asio/include/asio/detail/impl/socket_ops.ipp:3322: undefined reference to `__imp_getaddrinfo'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/botcraft/CMakeFiles/botcraft.dir/src/Network/Authentifier.cpp.obj: in function `asio::detail::socket_ops::freeaddrinfo(addrinfo*)':
C:/Users/keesg/CLionProjects/czeropthreebot/lib/botcraft/3rdparty/asio/asio/include/asio/detail/impl/socket_ops.ipp:3396: undefined reference to `__imp_freeaddrinfo'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/botcraft/CMakeFiles/botcraft.dir/src/Network/Authentifier.cpp.obj: in function `unsigned long long asio::detail::socket_ops::error_wrapper<unsigned long long>(unsigned long long, std::error_code&)':
C:/Users/keesg/CLionProjects/czeropthreebot/lib/botcraft/3rdparty/asio/asio/include/asio/detail/impl/socket_ops.ipp:81: undefined reference to `__imp_WSAGetLastError'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/botcraft/CMakeFiles/botcraft.dir/src/Network/Authentifier.cpp.obj: in function `int asio::detail::socket_ops::error_wrapper<int>(int, std::error_code&)':
C:/Users/keesg/CLionProjects/czeropthreebot/lib/botcraft/3rdparty/asio/asio/include/asio/detail/impl/socket_ops.ipp:81: undefined reference to `__imp_WSAGetLastError'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/botcraft/CMakeFiles/botcraft.dir/src/Network/Authentifier.cpp.obj: in function `int asio::detail::socket_ops::call_connect<int>(int asio::detail::socket_ops::msghdr::*, unsigned long long, sockaddr const*, unsigned long long)':
C:/Users/keesg/CLionProjects/czeropthreebot/lib/botcraft/3rdparty/asio/asio/include/asio/detail/impl/socket_ops.ipp:469: undefined reference to `__imp_connect'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/botcraft/CMakeFiles/botcraft.dir/src/Network/Authentifier.cpp.obj: in function `int asio::detail::socket_ops::call_setsockopt<int>(int asio::detail::socket_ops::msghdr::*, unsigned long long, int, int, void const*, unsigned long long)':
C:/Users/keesg/CLionProjects/czeropthreebot/lib/botcraft/3rdparty/asio/asio/include/asio/detail/impl/socket_ops.ipp:1440: undefined reference to `__imp_setsockopt'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/botcraft/CMakeFiles/botcraft.dir/src/Network/Authentifier.cpp.obj: in function `int asio::detail::socket_ops::call_getsockopt<int>(int asio::detail::socket_ops::msghdr::*, unsigned long long, int, int, void*, unsigned long long*)':
C:/Users/keesg/CLionProjects/czeropthreebot/lib/botcraft/3rdparty/asio/asio/include/asio/detail/impl/socket_ops.ipp:1527: undefined reference to `__imp_getsockopt'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/botcraft/CMakeFiles/botcraft.dir/src/Network/TCP_Com.cpp.obj: in function `asio::detail::win_fd_set_adapter::is_set(unsigned long long) const':
C:/Users/keesg/CLionProjects/czeropthreebot/lib/botcraft/3rdparty/asio/asio/include/asio/detail/win_fd_set_adapter.hpp:82: undefined reference to `__WSAFDIsSet'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/botcraft/CMakeFiles/botcraft.dir/src/Network/TCP_Com.cpp.obj: in function `asio::detail::socket_ops::set_internal_non_blocking(unsigned long long, unsigned char&, bool, std::error_code&)':
C:/Users/keesg/CLionProjects/czeropthreebot/lib/botcraft/3rdparty/asio/asio/include/asio/detail/impl/socket_ops.ipp:423: undefined reference to `__imp_ioctlsocket'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/botcraft/CMakeFiles/botcraft.dir/src/Network/TCP_Com.cpp.obj: in function `asio::detail::socket_ops::non_blocking_connect(unsigned long long, std::error_code&)':
C:/Users/keesg/CLionProjects/czeropthreebot/lib/botcraft/3rdparty/asio/asio/include/asio/detail/impl/socket_ops.ipp:573: undefined reference to `__imp_select'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/botcraft/CMakeFiles/botcraft.dir/src/Network/TCP_Com.cpp.obj: in function `asio::detail::socket_ops::listen(unsigned long long, int, std::error_code&)':
C:/Users/keesg/CLionProjects/czeropthreebot/lib/botcraft/3rdparty/asio/asio/include/asio/detail/impl/socket_ops.ipp:691: undefined reference to `__imp_listen'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/botcraft/CMakeFiles/botcraft.dir/src/Network/TCP_Com.cpp.obj: in function `asio::detail::socket_ops::recvfrom(unsigned long long, _WSABUF*, unsigned long long, int, sockaddr*, unsigned long long*, std::error_code&)':
C:/Users/keesg/CLionProjects/czeropthreebot/lib/botcraft/3rdparty/asio/asio/include/asio/detail/impl/socket_ops.ipp:920: undefined reference to `__imp_WSARecvFrom'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/botcraft/CMakeFiles/botcraft.dir/src/Network/TCP_Com.cpp.obj: in function `asio::detail::socket_ops::sendto(unsigned long long, _WSABUF const*, unsigned long long, int, sockaddr const*, unsigned long long, std::error_code&)':
C:/Users/keesg/CLionProjects/czeropthreebot/lib/botcraft/3rdparty/asio/asio/include/asio/detail/impl/socket_ops.ipp:1292: undefined reference to `__imp_WSASendTo'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/botcraft/CMakeFiles/botcraft.dir/src/Network/TCP_Com.cpp.obj: in function `asio::detail::socket_ops::ioctl(unsigned long long, unsigned char&, int, unsigned long*, std::error_code&)':
C:/Users/keesg/CLionProjects/czeropthreebot/lib/botcraft/3rdparty/asio/asio/include/asio/detail/impl/socket_ops.ipp:1724: undefined reference to `__imp_ioctlsocket'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/botcraft/CMakeFiles/botcraft.dir/src/Network/TCP_Com.cpp.obj: in function `asio::detail::socket_ops::select(int, fd_set*, fd_set*, fd_set*, timeval*, std::error_code&)':
C:/Users/keesg/CLionProjects/czeropthreebot/lib/botcraft/3rdparty/asio/asio/include/asio/detail/impl/socket_ops.ipp:1793: undefined reference to `__imp_select'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/botcraft/CMakeFiles/botcraft.dir/src/Network/TCP_Com.cpp.obj: in function `asio::detail::socket_ops::inet_pton(int, char const*, void*, unsigned long*, std::error_code&)':
C:/Users/keesg/CLionProjects/czeropthreebot/lib/botcraft/3rdparty/asio/asio/include/asio/detail/impl/socket_ops.ipp:2304: undefined reference to `__imp_WSAStringToAddressA'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/botcraft/CMakeFiles/botcraft.dir/src/Network/TCP_Com.cpp.obj: in function `asio::detail::socket_ops::network_to_host_long(unsigned long)':
C:/Users/keesg/CLionProjects/czeropthreebot/lib/botcraft/3rdparty/asio/asio/include/asio/detail/impl/socket_ops.ipp:3521: undefined reference to `__imp_ntohl'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/botcraft/CMakeFiles/botcraft.dir/src/Network/TCP_Com.cpp.obj: in function `asio::detail::socket_ops::host_to_network_long(unsigned long)':
C:/Users/keesg/CLionProjects/czeropthreebot/lib/botcraft/3rdparty/asio/asio/include/asio/detail/impl/socket_ops.ipp:3536: undefined reference to `__imp_htonl'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/botcraft/CMakeFiles/botcraft.dir/src/Network/TCP_Com.cpp.obj: in function `asio::detail::socket_ops::host_to_network_short(unsigned short)':
C:/Users/keesg/CLionProjects/czeropthreebot/lib/botcraft/3rdparty/asio/asio/include/asio/detail/impl/socket_ops.ipp:3561: undefined reference to `__imp_htons'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/botcraft/CMakeFiles/botcraft.dir/src/Network/TCP_Com.cpp.obj: in function `asio::detail::win_iocp_socket_service_base::start_send_op(asio::detail::win_iocp_socket_service_base::base_implementation_type&, _WSABUF*, unsigned long long, int, bool, asio::detail::win_iocp_operation*)':
C:/Users/keesg/CLionProjects/czeropthreebot/lib/botcraft/3rdparty/asio/asio/include/asio/detail/impl/win_iocp_socket_service_base.ipp:397: undefined reference to `__imp_WSASend'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: C:/Users/keesg/CLionProjects/czeropthreebot/lib/botcraft/3rdparty/asio/asio/include/asio/detail/impl/win_iocp_socket_service_base.ipp:399: undefined reference to `__imp_WSAGetLastError'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/botcraft/CMakeFiles/botcraft.dir/src/Network/TCP_Com.cpp.obj: in function `asio::detail::win_iocp_socket_service_base::start_receive_op(asio::detail::win_iocp_socket_service_base::base_implementation_type&, _WSABUF*, unsigned long long, int, bool, asio::detail::win_iocp_operation*)':
C:/Users/keesg/CLionProjects/czeropthreebot/lib/botcraft/3rdparty/asio/asio/include/asio/detail/impl/win_iocp_socket_service_base.ipp:452: undefined reference to `__imp_WSARecv'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: C:/Users/keesg/CLionProjects/czeropthreebot/lib/botcraft/3rdparty/asio/asio/include/asio/detail/impl/win_iocp_socket_service_base.ipp:455: undefined reference to `__imp_WSAGetLastError'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/botcraft/CMakeFiles/botcraft.dir/src/Network/TCP_Com.cpp.obj: in function `asio::detail::win_iocp_socket_service_base::start_connect_op(asio::detail::win_iocp_socket_service_base::base_implementation_type&, int, int, sockaddr const*, unsigned long long, asio::detail::win_iocp_socket_connect_op_base*)':
C:/Users/keesg/CLionProjects/czeropthreebot/lib/botcraft/3rdparty/asio/asio/include/asio/detail/impl/win_iocp_socket_service_base.ipp:625: undefined reference to `__imp_WSAGetLastError'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/botcraft/CMakeFiles/botcraft.dir/src/Network/TCP_Com.cpp.obj: in function `asio::detail::win_iocp_socket_service_base::get_connect_ex(asio::detail::win_iocp_socket_service_base::base_implementation_type&, int)':
C:/Users/keesg/CLionProjects/czeropthreebot/lib/botcraft/3rdparty/asio/asio/include/asio/detail/impl/win_iocp_socket_service_base.ipp:736: undefined reference to `__imp_WSAIoctl'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/botcraft/CMakeFiles/botcraft.dir/src/Network/TCP_Com.cpp.obj: in function `unsigned long long asio::detail::socket_ops::call_accept<int>(int asio::detail::socket_ops::msghdr::*, unsigned long long, sockaddr*, unsigned long long*)':
C:/Users/keesg/CLionProjects/czeropthreebot/lib/botcraft/3rdparty/asio/asio/include/asio/detail/impl/socket_ops.ipp:95: undefined reference to `__imp_accept'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/botcraft/CMakeFiles/botcraft.dir/src/Network/TCP_Com.cpp.obj: in function `int asio::detail::socket_ops::call_bind<int>(int asio::detail::socket_ops::msghdr::*, unsigned long long, sockaddr const*, unsigned long long)':
C:/Users/keesg/CLionProjects/czeropthreebot/lib/botcraft/3rdparty/asio/asio/include/asio/detail/impl/socket_ops.ipp:273: undefined reference to `__imp_bind'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/botcraft/CMakeFiles/botcraft.dir/src/Network/TCP_Com.cpp.obj: in function `int asio::detail::socket_ops::call_getsockname<int>(int asio::detail::socket_ops::msghdr::*, unsigned long long, sockaddr*, unsigned long long*)':
C:/Users/keesg/CLionProjects/czeropthreebot/lib/botcraft/3rdparty/asio/asio/include/asio/detail/impl/socket_ops.ipp:1691: undefined reference to `__imp_getsockname'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/3rdparty/openssl/install/lib/libcrypto.a(b_addr.c.obj):b_addr.c:(.text+0x456): undefined reference to `__imp_getnameinfo'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/3rdparty/openssl/install/lib/libcrypto.a(b_addr.c.obj):b_addr.c:(.text+0x498): undefined reference to `gai_strerrorA'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/3rdparty/openssl/install/lib/libcrypto.a(b_addr.c.obj):b_addr.c:(.text+0x4cf): undefined reference to `__imp_ntohs'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/3rdparty/openssl/install/lib/libcrypto.a(b_addr.c.obj):b_addr.c:(.text+0x843): undefined reference to `__imp_freeaddrinfo'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/3rdparty/openssl/install/lib/libcrypto.a(b_addr.c.obj):b_addr.c:(.text+0xe3f): undefined reference to `__imp_getaddrinfo'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/3rdparty/openssl/install/lib/libcrypto.a(b_addr.c.obj):b_addr.c:(.text+0xee1): undefined reference to `gai_strerrorA'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/3rdparty/openssl/install/lib/libcrypto.a(b_sock.c.obj):b_sock.c:(.text+0x2a6): undefined reference to `__imp_ntohs'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/3rdparty/openssl/install/lib/libcrypto.a(b_sock.c.obj):b_sock.c:(.text+0x328): undefined reference to `__imp_getsockopt'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/3rdparty/openssl/install/lib/libcrypto.a(b_sock.c.obj):b_sock.c:(.text+0x33a): undefined reference to `__imp_WSAGetLastError'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/3rdparty/openssl/install/lib/libcrypto.a(b_sock.c.obj):b_sock.c:(.text+0x35e): undefined reference to `__imp_gethostbyname'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/3rdparty/openssl/install/lib/libcrypto.a(b_sock.c.obj):b_sock.c:(.text+0x3b6): undefined reference to `__imp_WSAStartup'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/3rdparty/openssl/install/lib/libcrypto.a(b_sock.c.obj):b_sock.c:(.text+0x3c3): undefined reference to `__imp_WSAGetLastError'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/3rdparty/openssl/install/lib/libcrypto.a(b_sock.c.obj):b_sock.c:(.text+0x445): undefined reference to `__imp_WSACleanup'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/3rdparty/openssl/install/lib/libcrypto.a(b_sock.c.obj):b_sock.c:(.text+0x479): undefined reference to `__imp_ioctlsocket'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/3rdparty/openssl/install/lib/libcrypto.a(b_sock.c.obj):b_sock.c:(.text+0x48b): undefined reference to `__imp_WSAGetLastError'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/3rdparty/openssl/install/lib/libcrypto.a(b_sock.c.obj):b_sock.c:(.text+0x68b): undefined reference to `__imp_WSAGetLastError'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/3rdparty/openssl/install/lib/libcrypto.a(b_sock.c.obj):b_sock.c:(.text+0x866): undefined reference to `__imp_setsockopt'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/3rdparty/openssl/install/lib/libcrypto.a(b_sock.c.obj):b_sock.c:(.text+0x915): undefined reference to `__imp_getsockname'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/3rdparty/openssl/install/lib/libcrypto.a(b_sock.c.obj):b_sock.c:(.text+0x927): undefined reference to `__imp_WSAGetLastError'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/3rdparty/openssl/install/lib/libcrypto.a(b_sock2.c.obj):b_sock2.c:(.text+0x3f): undefined reference to `__imp_socket'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/3rdparty/openssl/install/lib/libcrypto.a(b_sock2.c.obj):b_sock2.c:(.text+0x51): undefined reference to `__imp_WSAGetLastError'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/3rdparty/openssl/install/lib/libcrypto.a(b_sock2.c.obj):b_sock2.c:(.text+0x156): undefined reference to `__imp_setsockopt'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/3rdparty/openssl/install/lib/libcrypto.a(b_sock2.c.obj):b_sock2.c:(.text+0x163): undefined reference to `__imp_WSAGetLastError'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/3rdparty/openssl/install/lib/libcrypto.a(b_sock2.c.obj):b_sock2.c:(.text+0x1eb): undefined reference to `__imp_setsockopt'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/3rdparty/openssl/install/lib/libcrypto.a(b_sock2.c.obj):b_sock2.c:(.text+0x1f8): undefined reference to `__imp_WSAGetLastError'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/3rdparty/openssl/install/lib/libcrypto.a(b_sock2.c.obj):b_sock2.c:(.text+0x278): undefined reference to `__imp_connect'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/3rdparty/openssl/install/lib/libcrypto.a(b_sock2.c.obj):b_sock2.c:(.text+0x294): undefined reference to `__imp_WSAGetLastError'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/3rdparty/openssl/install/lib/libcrypto.a(b_sock2.c.obj):b_sock2.c:(.text+0x367): undefined reference to `__imp_bind'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/3rdparty/openssl/install/lib/libcrypto.a(b_sock2.c.obj):b_sock2.c:(.text+0x374): undefined reference to `__imp_WSAGetLastError'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/3rdparty/openssl/install/lib/libcrypto.a(b_sock2.c.obj):b_sock2.c:(.text+0x44d): undefined reference to `__imp_getsockopt'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/3rdparty/openssl/install/lib/libcrypto.a(b_sock2.c.obj):b_sock2.c:(.text+0x462): undefined reference to `__imp_WSAGetLastError'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/3rdparty/openssl/install/lib/libcrypto.a(b_sock2.c.obj):b_sock2.c:(.text+0x510): undefined reference to `__imp_setsockopt'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/3rdparty/openssl/install/lib/libcrypto.a(b_sock2.c.obj):b_sock2.c:(.text+0x51d): undefined reference to `__imp_WSAGetLastError'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/3rdparty/openssl/install/lib/libcrypto.a(b_sock2.c.obj):b_sock2.c:(.text+0x5a5): undefined reference to `__imp_setsockopt'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/3rdparty/openssl/install/lib/libcrypto.a(b_sock2.c.obj):b_sock2.c:(.text+0x5b2): undefined reference to `__imp_WSAGetLastError'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/3rdparty/openssl/install/lib/libcrypto.a(b_sock2.c.obj):b_sock2.c:(.text+0x64c): undefined reference to `__imp_setsockopt'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/3rdparty/openssl/install/lib/libcrypto.a(b_sock2.c.obj):b_sock2.c:(.text+0x659): undefined reference to `__imp_WSAGetLastError'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/3rdparty/openssl/install/lib/libcrypto.a(b_sock2.c.obj):b_sock2.c:(.text+0x6e6): undefined reference to `__imp_listen'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/3rdparty/openssl/install/lib/libcrypto.a(b_sock2.c.obj):b_sock2.c:(.text+0x6f4): undefined reference to `__imp_WSAGetLastError'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/3rdparty/openssl/install/lib/libcrypto.a(b_sock2.c.obj):b_sock2.c:(.text+0x7a1): undefined reference to `__imp_accept'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/3rdparty/openssl/install/lib/libcrypto.a(b_sock2.c.obj):b_sock2.c:(.text+0x7c1): undefined reference to `__imp_WSAGetLastError'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/3rdparty/openssl/install/lib/libcrypto.a(b_sock2.c.obj):b_sock2.c:(.text+0x83a): undefined reference to `__imp_closesocket'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/3rdparty/openssl/install/lib/libcrypto.a(b_sock2.c.obj):b_sock2.c:(.text+0x866): undefined reference to `__imp_closesocket'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/3rdparty/openssl/install/lib/libcrypto.a(bss_sock.c.obj):bss_sock.c:(.text+0x166): undefined reference to `__imp_WSASetLastError'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/3rdparty/openssl/install/lib/libcrypto.a(bss_sock.c.obj):bss_sock.c:(.text+0x18b): undefined reference to `__imp_recv'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/3rdparty/openssl/install/lib/libcrypto.a(bss_sock.c.obj):bss_sock.c:(.text+0x204): undefined reference to `__imp_WSASetLastError'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/3rdparty/openssl/install/lib/libcrypto.a(bss_sock.c.obj):bss_sock.c:(.text+0x229): undefined reference to `__imp_send'
C:\Users\keesg\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\221.5591.52\bin\mingw\bin/ld.exe: lib/botcraft/3rdparty/openssl/install/lib/libcrypto.a(bss_sock.c.obj):bss_sock.c:(.text+0x3f2): undefined reference to `__imp_WSAGetLastError'
collect2.exe: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.