The 4th Coming Server v0.2 + Source code – MMORPGing with MySQL!

The 4th Coming Server ScreenshotSì, il python è figo. Ci sono anche i thread! :D
Ho aggiunto molte funzioni al server, ora è multiutente (alloca dinamicamente le classi utente richieste ed un thread separato si occupa di pingare i client connessi (non ho ancora reversato la parte di protocollo che si occupa del kick di un utente, per ora viene fornito solo un avviso).
Inoltre è stata aggiunto il supporto MySQL, per cui ora gli utenti effettuano il login *sul serio* (prima qualunque login veniva accettato mancando un controllo a riguardo) e vengono proposti i veri personaggi creati.
Il database MySQL è lo stesso creato per il server ufficiale della Vircom, a breve comunque rilascerò anche un dump per poterlo provare in modo più semplice.
La versione di protocollo attualmente supportata è quella relativa al client 1.25.
Il client ancora non entra in gioco, ma beh, ho preferito implementare tutte queste funzioni e preparare la modalità multiuser *prima*! :D

Python is cool. Really cool. I was looking for something to ping users connected… and I discovered it has threads. And yes, threads are cool too :P
Some features has been added, now it is multiuser, MySQL has been implemented, so using the standard Vircom database, you can log in and manage users. Shortly I will add also the MySQL dump to help you try it.
The actual protocol version implemented is the 1.25.
The client still doesn’t enter in a game, but I’ve just added the multiuser feature and the MySQL support, features *more* useful I think :P
Here’s the The 4th Coming Server, with Python Sources.

And here’s the TODO:
Here’s what should be added for the new release (ordered by importance):

- Handling of fragmented packets
- Handling of non-received packets (or crc error)

- Client enter pre-game
- Client enter in-game

- Chat
- Whispers, messages & co

- Movements
- Fights

- CLI to use and edit server preferences (CLI or via browser and another thread spawned)

- Maps, walls & co

- NPCs scripting (maybe in python?)

The 4th Coming server – With sources in Python!

Non ci perderò troppo tempo e probabilmente non lo concluderò mai, in particolare quel che sarà seccante sarà la gestione delle mappe e degli NPC (non da riscrivere *da capo*, quanto utilizzare gli script preesistenti, ma comunque sarà seccante!).
Probabilmente quindi mi fermerò al semplice login ed alla gestione di personaggi online nel mondo, ma vabbè poi si vedrà.
In ogni caso il server l’ho già abbozzato, permette per il momento di arrivare fino alla schermata di scelta del personaggio, per ora tutto hardcodato (la gestione di informazioni via mysql la farò).
Il bello è che il server è in python… e non pensavo fosse tanto semplice da scrivere!

This is a project I will never end. Loading and using maps and NPCs will be boring to code, and I don’t think I will do it… maybe someone… :D
Anyway, the server works until you have to select your character, I have just finished to do this, and this post will be updated when other news will be available.
The server is coded in python, 8kb, simple, well-commented (in english), so, give it a look ^^
Obviously source code is available since python is a scripting system :P
And don’t get angry… I just learned Python! :D
t4cserver-0.1-sources