Sin Ofender creo estas mezclando mucho codigo sin leer primero, el copy/paste no sirve si no lo estudias
En este fragmento lo demuestra
void setup() {
lcd.begin(16, 2); //inicializas el lcd para que use el i2c
Serial.begin(9600); // inicializas el UART por hardware de arduino
Ethernet.begin(mac, ip); //inicializas la ethernet
server.begin(); //comienza a leer los paquetes
Serial.print("server is at "); // imprimes por puerto serial esta palabra
Serial.println(Ethernet.localIP()); imprimes la ip local que le asignaste o se asignó por dhcp.
Sí estas usando el Serial por hardware de arduino. Por eso usar un serial por software cuando no te hace falta es ocupar memoria al vicio.
Quita el virtualwire y conecta el modulo al pin tx y listo, lo que transmitirá será todo lo que pongas en los Serial.print(), y tambien puedes capturarlo en el monitor serial.