diff --git a/pom.xml b/pom.xml
index 31b033a..f9a195c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -51,6 +51,12 @@
guava
24.1-jre
+
+ commons-io
+ commons-io
+ 2.6
+
+
diff --git a/src/main/java/mc/core/netty/packets/HandshakeResponsePacket.java b/src/main/java/mc/core/netty/packets/HandshakeResponsePacket.java
index da99bdf..387dfd2 100644
--- a/src/main/java/mc/core/netty/packets/HandshakeResponsePacket.java
+++ b/src/main/java/mc/core/netty/packets/HandshakeResponsePacket.java
@@ -5,12 +5,19 @@
package mc.core.netty.packets;
import com.google.gson.JsonObject;
+import lombok.extern.slf4j.Slf4j;
import mc.core.NetStream;
import mc.core.NotSupportException;
import mc.core.Packet;
+import org.apache.commons.io.FileUtils;
+import org.apache.commons.io.IOUtils;
+
+import java.io.IOException;
+import java.util.Base64;
import static mc.core.netty.Utils.*;
+@Slf4j
public class HandshakeResponsePacket implements Packet {
private static final int id = 0;
private static String json;
@@ -33,6 +40,16 @@ public class HandshakeResponsePacket implements Packet {
rootObj.add("players", playersObj);
rootObj.add("description", descriptionObj);
+ try {
+ rootObj.addProperty("favicon",
+ "data:image/png;base64," +
+ new String(Base64.getEncoder().encode(
+ IOUtils.resourceToByteArray("/icon.png")))
+ );
+ } catch (IOException e) {
+ log.warn("error read icon server", e);
+ }
+
json = rootObj.toString();
size = lengthVarInt(id)
diff --git a/src/main/resources/icon.png b/src/main/resources/icon.png
new file mode 100644
index 0000000..d512fc5
Binary files /dev/null and b/src/main/resources/icon.png differ