Limites del sistema
Debido a que la ejecución del código OgnlScript se hace dentro del servidor, existen una serie de limitaciones en el lenguaje para proteger la integridad del sistema frente a código "inestable" o "malintencionado".
Estas limitaciones son:
- La pila de llamadas a funciones está limitada a un número determinado por petición.
- El número de líneas ejecutadas reales está limitado por petición.
Existen además otras limitaciones del lenguaje que son variables por usuario y en el momento actual están siendo estudiadas.
- Límite de líneas por función
- Límite de niveles de anidamiento de estructuras if-while-repeat-foreach dentro de una misma función.
- Límite en el número de variables locales por función.
- Límite en el número de objetos por programa..
- Límite en el tamaño del fichero (tanto en bytes como en líneas)
De esta manera se intenta evitar el código que, de manera malintencionada o no, consuma demasiado tiempo de CPU o de memoria del servidor. Las limitaciones pueden variar con el paso del tiempo, ya que pueden ampliarse o reducirse en función del uso que los programadores le den al código de sus aventuras.
La imposición de todos estos límites es evitar ataques de usuarios con código deliberadamente malintencionados: si un usuario necesita ampliar algún límite, puede solicitarlo. Pero si se detecta código expresamente malicioso que haya conseguido degradar o no el servidor, se considerará como un ataque al servicio e implicará la baja automática del usuario (la IP del usuario también será baneada).
De todas formas, si eres un programador de aventuras de verdad, no deberías preocuparte nunca ya que todo esto no va para ti: si tu aventura necesita más (''loquesea''), sólo pídelo. Y si te has pasado sin querer, se arregla y no pasa nada. Nadie que comenta un fallo sin querer será expulsado nunca. El objetivo del sistema de límites es proteger al servidor de usuarios malintencionados, nunca para bloquear la creatividad de los autores de aventuras.