Adedonha em Java com Sockets

Galera, preciso fazer um jogo de Adedonha com sockets em Java. Pra quem não sabe ou não conhece, Adedonha é aquele jogo onde sorteamos uma letra e precisamos preencher alguns campos(Ex: Nome, Lugar, Objeto) com essas letras. Sou novo em sockets e tô precisando de ajuda. O jogo só deve começar quando eu tiver 2 clientes conectados ao servidor. Já descobri que para ter clientes simultâneos eu preciso usar Threads, então dei uma pesquisada e cheguei até aqui. Alguém pode dar uma ajuda ?

/* Parte do código do servidor */

public static void main(String[] args) throws IOException {

	try {
		new Servidor().executar();
	}
	catch(Throwable t) {
		t.printStackTrace();
	}

}

private boolean executando;
    
public void executar() throws IOException {
            System.out.println("Aguardando conexao...");       
	ServerSocket s = new ServerSocket(60000);
	executando = true;

	while(executando) {
		processar(s.accept());
	}
	s.close();
}

public void processar(final Socket conexao) {
        Runnable execucao = new Runnable() {
            public void run() {
                try {
		System.out.println("Cliente conectado");
                    int pontos;
                    char letra = gerarLetra();
                    String letra_enviada = letra + "\n";	
                    ObjectInputStream input = new ObjectInputStream(conexao.getInputStream());
                    DataOutputStream output = new DataOutputStream(conexao.getOutputStream());
                    output.writeBytes(letra_enviada);
                    output.flush();
                    Object object = input.readObject();
                    String[] respostas;
                    respostas = (String[])object;
                    pontos = getPontos(respostas, letra);
                    System.out.println("Pontuação total: "+pontos);  
                }
	    catch(IOException e) {
                    e.printStackTrace();
	    } 
	    catch (ClassNotFoundException e) {
		e.printStackTrace();
	    }
	}

        };
    new Thread(execucao).start();
    }

public void parar() {
	executando = false;
}

/* Aqui está o cliente */

public class Cliente {

public static void main(String[] args) throws IOException {
    
    Scanner sc = new Scanner(System.in);
    
    Socket client = new Socket("localhost", 60000);
    
    BufferedReader input = new BufferedReader(new InputStreamReader(client.getInputStream()));
    ObjectOutputStream output = new ObjectOutputStream(client.getOutputStream());  
    
    String letra = input.readLine();
    System.out.println("Letra sorteada: "+letra);
    
    String[] respostas = new String[3];
    
    String nome, lugar, objeto;
    System.out.print("Digite um nome com a letra "+letra+": ");
    nome = sc.nextLine();
    System.out.print("Digite um lugar com a letra "+letra+": ");
    lugar = sc.nextLine();
    System.out.print("Digite um objeto com a letra "+letra+": ");
    objeto = sc.nextLine();
    
    respostas[0] = nome;
    respostas[1] = lugar;
    respostas[2] = objeto;
    
    output.writeObject(respostas);
    output.flush();
    
    sc.close();
    client.close();
}

}

Tem mesmo necessidade de duplicar tópicos?
Se aquele ainda não foi respondido, não resolveu ou etc, mantenha-se nele.