Repositorio del código fuente utilizado en la página web Lifo.es durante los años 2017 a 2022

Overview

Lifo.es

Logo de lifo

Código fuente del juego de rol online Lifo modificado por mi (Sora) durante los años 2017 a 2022. Este código es una modificación del código base del juego original creado por Luis Quesada Torres.

El código original del juego se pueden encontrar en: Código fuente

El Copyright de Lifo.es, así como sus distribuciones, se mantienen bajo la licencia descrita por el código fuente original.

Copyright (c) 2006-2013, Luis Quesada Torres - https://github.com/lquesada | www.luisquesada.com

  

Aspectos generales

El código fuente facilitado NO ESTÁ PREPARADO NI LISTO para su uso directo y requiere de varias modificaciones y preparaciones. Este repositorio se puede utilizar como base para la creación de un nuevo "Lifo" o partidas o lo que se desee.

Dentro de las carpetas facilitadas podemos encontrar:

  • partida.lifo: Contiene el código fuente para una partida. Parte de la última partida que se creó y con todas sus mejoras/cambios.
  • partidaReyDeLaColina.lifo: Contiene el código fuente para una partida modificada al estilo Rey de la colina. Son partidas finitas con cometencias, eventos y logros especiales a alcanzar por los jugadores.
  • mainpage: Contiene el código de la página principal selectora de partidas.
  • img.lifo: Contiene todas las imágenes del juego (objetos, monstruos, plantillas, imagenes de estructuras, etc).
  • common.lifo: Contiene el código de diversas funciones del juego tales como el borrado diario de mensajes, el cambio diario del mercader ambulante o el cartero de correos del juego.
  • sql: Scripts de creación de las tablas de la base de datos. Contiene:
    • game_database.sql: Script sql de creación de tablas de una partida básica.
    • special_database.sql: Script sql para crear la base de datos del cartero, mercader ambulante, etc...

La versión de PHP utilizada por el servidor debe 7.4 o mayor.

El lenguaje de base de datos utilizado es MySQL.

  

Crear una partida

Para crear una partida como mínimo se deben seguir estos pásos:

  1. Copiar el contenido de la carpeta partida.lifo sobre la carpeta destino de la partida.
  2. Crear una base de datos. Será donde almacenemos las tablas y datos del juego.
  3. Sobre la base de datos, ejecutar el archivo game_database.sql.
  4. Editar el archivo w_config.php rellenando todos los datos faltantes. Sobre este archivo deben de ir los datos de la partida, palabras secretas para encriptación, los datos de conexión a la base de datos y los datos del servidor de correo (muy importante esto último).
  5. Una vez hecho esto, podemos como mínimo arrancar el servicio.
  6. Ya arrancado, registramos un jugador y, desde la base de datos, lo hacemos administrador.

Hemos creado la partida y un jugador administrador, pero nos daremos cuenta de que no podemos entrar, eso se debe a que el usuario debe de verificar la cuenta con el correo de verificación. Por supuesto esto no funcionará porque todavía no hemos configurado esta funcionalidad. Vamos a ello:

  1. Añadimos la carpeta common.lifo. Esta es la carpeta que almacena el gestor de correos (el cartero).
  2. Deberemos, de nuevo, configurar el archivo w_config.php que trae.
  3. Muy probablemente debamos editar archivos tanto en la partida creada como en common.lifo para que los archivos de correo a enviar (los .html) vayan a la carpeta correcta.

El funcionamiento del cartero se basa en: Generar un correo desde una partida en .html con un destinatario; Añadir ese correo a la carpeta uploads de cada partida; El cartero analiza cada carpeta uploads de cada partida y los saca de ahí para enviarlos.

El cartero no va a funcionar solo. Para que todo este mecanismo sea un trabajo asíncrono se requiere de una tarea de cron que ejecute el siguiente fichero:

Tareas programadas

Se debe ejecutar cada segundo el archivo postMan.php, que se encargará de dicho trabajo.

En las tareas programadas se pueden visualizar otras tareas, tales como:

  • delOldMsgs.php: Se encarga de borrar una vez al día todos los mensajes de más de 30 días de duración de todas las partidas.
  • ma_generar.php: Se encarga de generar una hora aleatoria y las orfertas diarias para el mercader ambulante de cada partida.

  

Ya teniendo la partida y el cartero, será necesaria establecer la carpeta img.lifo, que contendrá las imágenes del juego. Muy importante recordar que la ruta esta carpeta se debe establecer en el archivo w_config.php siempre.

Relaizando los pasos anteriores y con una serie de modificaciones menores de rutas y demás aspectos, todo debería de funcionar. Recomiendo paciencia, es posible que no todo funcione a la primera, ya que hay que configurar bastantes aspectos.

  

Otros / Consideraciones

Como se menciona anteriormente, también aporto el código base de una partida de el Rey de la Colina. Logo del Rey de la Colina

Concrétamente el código respectivo de la 2º partida del Rey de la Colina. También añado un sql llamado reydelacolina_database.sql que contiene la base de datos de este tipo de partida como fue la última. Las partidas del tipo Rey de la Colina son partidas especiales finitas que buscan que los jugadores cumplan ciertos objetivos en ellas en un tiempo limitado. Estas partidas no cuentan con premium, clasificación u otros aspetos básicos del juego.

Algo a tener en consideración respecto a las partidas normales será el chat de los clanes. El chat es simple, se basa en un script .js y unos archivos .json que almacenan cada uno de los chats de clan. Algo MUY IMPORTANTE que se debe saber es que el sistema de chat no funcionará si no existe una carpeta llamada chats dentro de la carpeta chat que contiene los scripts y toda la información del sistema de chats.

De la misma manera que lo anteriormente citado, deberá existir una carpeta vacía llamada uploads dentro de la carpeta de la partida y otra llamada igual dentro de la carpeta commons. Esto es NECESARIO para que funcione bien el cartero.

  

Agradecimientos

Quisiera agradecer a los jugadores que han participado en el juego a lo largo de estos años y a todo el mundo que a colaborado en el juego.

En especial me gustaría agradecer a:

  • Recycled, por haberme ayudado años con la moderación y creando imágenes para el juego.
  • Layon, jugador invidente que colaboró mucho con el juego.
  • Pipi, jugador que aunque fuese un demonio y solo causase problemas, siempre le dio vida al juego.
  • Casio, un buen amigo que me ha acompañado en todo el camino toda la vida de lifo.es.
  • Y a todos los moderadores de los servidores a lo largo de todo este tiempo. De veras, gracias por todo.

Un saludo, y mucha suerte en vuestro camino. Gracias por todos estos años.

Att: Sora Espada suprema

You might also like...
Plugin para mostrar el precio a 3,6,12 Meses sin Intereses en la página individual de productos de WooCommerce.
Plugin para mostrar el precio a 3,6,12 Meses sin Intereses en la página individual de productos de WooCommerce.

Plugin de WooCommerce para El Buen Fin (México) Plugin para mostrar el precio a 3,6,12 Meses sin Intereses en la página individual de productos de Woo

Archivos del Proyecto creado por Raymer Antonio Encarnación Villar 17-MISN-4-003 Alexis Joaquin Peña Cruz 15-SISN-1-127 Larry Leynel Beltre Payano 16-MISN-1-158

!DOCTYPE html html lang="en" head meta name="viewport" content="width=device-width" / meta http-equiv="Content-Type" content="text/html; ch

2022 edition of the inRage Theme fully based on Gutenberg with the support of Roots Sage 10
2022 edition of the inRage Theme fully based on Gutenberg with the support of Roots Sage 10

2022 Edition - inRage theme This version of the theme is compatible with the Full site editing of Wordpress 5.8/5.9 and use Sage 10 in order to manage

Projet Jura2021-2022

CodeIgniter 4 Framework What is CodeIgniter? CodeIgniter is a PHP full-stack web framework that is light, fast, flexible, and secure. More information

Mailing Microservice - My solution for Moroccan PHPers's February 2022 Challenge
Mailing Microservice - My solution for Moroccan PHPers's February 2022 Challenge

Mailing Microservice Solution for Moroccan PHPers's February 2022 Challenge by Rabyâ Raghib ([email protected]). It mainly consists of: a php app th

A&D challenge for AIS3 EOF CTF 2022 Final.

A&D challenge for AIS3 EOF CTF 2022 Final.

Queue Management Systems for LPG vendor agencies of Sri Lanka, for the LPG shortages in 2022

gas-queue-mgt Queue Management Systems for LPG vendor agencies of Sri Lanka, for the LPG shortages in 2022 Installation Requirements PHP 7.4 or later

Major Security Vulnerability on PrestaShop Websites - CVE-2022-31101
Major Security Vulnerability on PrestaShop Websites - CVE-2022-31101

Fix Major Security Vulnerability on PrestaShop Websites 🚀 CVE-2022-31101 detector and fixer! A newly found exploit could allow remote attackers to ta

CVE-2022-29221 Proof of Concept Code

CVE-2022-29221-PoC This is a very basic Smarty sceleton app with a single template that shows the Proof of Concept code for CVE-2022-29221. Injection

Owner
null
Realice un programa en cualquier lenguaje de programación en el cual implemente un sistema de registro de asistencias para los ayudantes y becarios del LTIC.

About Laravel Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experie

Darwin Contreras 1 Jan 5, 2022
Trabajo final de la materia Bases de Datos 1. Creación de una base de datos con MySQL y desarrollo de una página web con PHP para manipularla. UNAL sede Medellín, semestre 2022-1.

Trabajo final BD: i-Lunch Materia: Bases de Datos I Profesor: Francisco Javier Moreno Arboleda Institución: Universidad Nacional de Colombia sede Mede

Emmanuel López Rodríguez 2 Jul 9, 2022
Repositorio del TP final de la materia de Introduccion a la programacion

tateti Repositorio del TP final de la materia de Introduccion a la programacion Materia TECNICATURA UNIVERSITARIA EN DESARROLLO WEB INTRODUCCION A LA

Jeremias 1 Apr 12, 2022
Projeto utilizado para prática de TDD usando PHP com a equipe de desenvolvimento.

?? TDD com PHP ?? Detalhamento do projeto Projeto desenvolvido durante um DOJO que organizei com os colegas de equipe da GAM Distribuidora. A proposta

Felipe Fernandes 3 Sep 11, 2021
Obtiene los datos fiscales actuales de una persona moral o física dado su RFC y CIFID

phpcfdi/csf-scraper Obtiene los datos fiscales actuales de una persona moral o física dado su RFC y CIFID. ???? The documentation of this project is i

phpCfdi 7 Oct 26, 2022
Código que joga Letreco/Termo

TERM & LETRECO BOT Configuration: 1° Clone this repository git clone !! 2° Install dependecies composer install 3° Install Java if you don't already h

Thiago 'Yaakov 'Dantas Soares 3 Oct 8, 2022
Projeto de um blog com funções de (criar, editar, deletar e dar update) em uma página web. Introdução ao Laravel 8.x.

About Laravel Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experie

Isabella 1 Nov 7, 2021
Página Web de la empresa InterClean desarrollada en Wordprees con Astra/Elementor

<!DOCTYPE html> <html lang="en"> <head> <meta name="viewport" content="width=device-width" /> <meta http-equiv="Content-Type" content="text/html; ch

Iván Crespo Reyes 1 Nov 15, 2021
Proyecto numero 3 de DAW 2, pagina web en Laravel con AJAX incluido

BlazkAdvisor Projecte 03: Guia restaurants Creació d'un lloc web que sigui una guia de restaurants de la nostra ciutat. Hecho por Pol, Juan Carlos y G

null 1 Feb 9, 2022
Con esta libreria lo que se agiliza el proceso del desarrollo de páginas web destinadas a dispositivos móviles

CodeIgniter jQuery Mobile Library Libreria para el desarrollo de versiones móviles de páginas con el framework jQuery Mobile. public function index()

Chr1s # 3 Jun 23, 2022