El "ifdef/else/endif/" son definiciones directivas que se utilizan para controlar el código, al colocar un "ifdef NOMBREDEFINICIÓN" en algún archivo del servidor, lo más seguro es que deba ser agregado a "service.h" como un "define NOMBREDEFINICIÓN".
Esto sirve fundamentalmente por si vas a colocar un sistema y el día de mañana deseas deshabilitarlo, simplemente deberás quitar del "service.h" el "define NOMBREDEFINICIÓN" siempre y cuando cumpla con ciertas medidas.
Ejemplo,
#ifdef DROP_TIME
pkItemToDrop->StartDestroyEvent(30); -Si está en service.h borrará los objetos en 30 segundos.
#else
pkItemToDrop->StartDestroyEvent(5); -Si no está en service.h borrará los objetos en 5 segundos.
#endif
Pero si en dado caso, en vez de poner el else, pusieras simplemente el ifdef y endif y quitaras la linea del service.h, esto ocasionaría problemas en la compilación.
Ejemplo,
#ifdef DROP_TIME -Si el define DROP_TIME no esta en service.h la compilación tendría fallos debido a que el juego no reconoce esta linea.
pkItemToDrop->StartDestroyEvent(30); -Si está en service.h borrará los objetos en 30 segundos.
#endif
En respuesta al error que tienes, te aconsejo no eliminar las directivas, pero sin embargo, echar un ojo más detallado a como funcionan.