diff --git a/src/GUI/DrawingArea.java b/src/GUI/DrawingArea.java
index c1f7a65306f82f3b6277cea4197b1e61cafe319e..1d7c5b9e5d191c9426cb6058a5176abfe24de47c 100644
--- a/src/GUI/DrawingArea.java
+++ b/src/GUI/DrawingArea.java
@@ -209,7 +209,7 @@ public class DrawingArea extends JPanel implements MouseMotionListener, MouseLis
                 g2.setFont(new Font("TimesRoman", Font.PLAIN, textSize));
                 g2.drawString(textString, startPoint.x, startPoint.y);
                 try {
-                    client.getDrawingController().broadcastText(client.getUserName(), textString, g2.getFont(), startPoint);
+                    client.getDrawingController().broadcastText(client.getUserName(), textString, g2.getFont(), shapeColor, startPoint);
                 } catch (RemoteException ex) {
                     ex.printStackTrace();
                 }
diff --git a/src/remote/IDrawingController.java b/src/remote/IDrawingController.java
index be96a215a69686225e4db0ecfc69958a25396b33..3aa40d3bcc5f77607e8df4e711a63305e083edc6 100644
--- a/src/remote/IDrawingController.java
+++ b/src/remote/IDrawingController.java
@@ -15,7 +15,7 @@ import java.rmi.RemoteException;
  */
 public interface IDrawingController extends Remote {
 
-    boolean broadcastText(String fromClient, String text, Font font, Point startPoint) throws RemoteException;
+    boolean broadcastText(String fromClient, String text, Font font, Color color, Point startPoint) throws RemoteException;
     boolean broadcastDrawing(String fromClient, Shape drawing, String mode, Color color, int strokeSize) throws RemoteException;
     boolean broadcastDraggingDrawing(String fromClient, Shape drawing, String mode, Color color, int strokeSize) throws RemoteException;
     boolean broadcastClearCanvas(String fromClient) throws RemoteException;
diff --git a/src/server/DrawingController.java b/src/server/DrawingController.java
index 00d42fc5e09937a1e7d587f062ad4e7221218754..d744ba6df9602c808554a69c58244b32605d2aa9 100644
--- a/src/server/DrawingController.java
+++ b/src/server/DrawingController.java
@@ -3,6 +3,7 @@ package server;
 import remote.IDrawingController;
 import remote.IDrawingUpdate;
 
+import javax.imageio.ImageIO;
 import java.awt.*;
 import java.awt.image.BufferedImage;
 import java.io.*;
@@ -29,13 +30,13 @@ public class DrawingController extends UnicastRemoteObject implements IDrawingCo
     }
 
     @Override
-    public boolean broadcastText(String fromClient, String text, Font font, Point startPoint) throws RemoteException {
+    public boolean broadcastText(String fromClient, String text, Font font, Color color, Point startPoint) throws RemoteException {
         System.out.print("Broadcasting drawing to everyone...");
 
         g2 = (Graphics2D) bufferedImage.getGraphics();
         g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
         g2.setFont(font);
-//        g2.setPaint(Color.BLACK);
+        g2.setPaint(color);
         g2.drawString(text, startPoint.x, startPoint.y);
         g2 = (Graphics2D) bufferedImage.getGraphics();
         g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
diff --git a/src/server/Server.java b/src/server/Server.java
index 1063d88fb21da8e2cd3ea5078816e9dff18712e8..5a9b983141a46f1dd5fd60d0076f0e733aadff47 100644
--- a/src/server/Server.java
+++ b/src/server/Server.java
@@ -60,6 +60,16 @@ public class Server
 
     public void run() throws RemoteException
     {
+        String serverIP = "";
+        try {
+            InetAddress inetAddress = InetAddress.getLocalHost();
+            serverIP = inetAddress.getHostAddress();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+        System.setProperty("java.rmi.server.hostname", serverIP);
+
         LocateRegistry.createRegistry(1099);
         Registry registry = LocateRegistry.getRegistry();
 //        if (System.getSecurityManager() == null) {