2023-12-16 15:06:29 -05:00
|
|
|
(load "~/quicklisp/setup.lisp")
|
2023-12-31 15:21:34 -05:00
|
|
|
(ql:quickload '(:usocket :bordeaux-threads :cl-bcrypt :datafly :sxql :alexandria))
|
2023-12-16 15:06:29 -05:00
|
|
|
|
|
|
|
(defpackage :mmo-server
|
2023-12-31 15:21:34 -05:00
|
|
|
(:use :common-lisp :usocket :bordeaux-threads :cl-bcrypt :datafly :sxql :alexandria))
|
2023-12-16 15:06:29 -05:00
|
|
|
|
|
|
|
(in-package :mmo-server)
|
2023-12-31 15:21:34 -05:00
|
|
|
|
|
|
|
(defvar *logged-in-users-hash* (make-hash-table))
|
|
|
|
|
|
|
|
(defun create-server (port)
|
|
|
|
(let* ((socket (usocket:socket-listen "127.0.0.1" port))
|
|
|
|
(connection (usocket:socket-accept socket :element-type
|
|
|
|
'character)))
|
|
|
|
(unwind-protect
|
|
|
|
(progn
|
|
|
|
(loop do
|
|
|
|
(setq message (read-line (usocket:socket-stream connection)))
|
|
|
|
(format (usocket:socket-stream connection)
|
|
|
|
"Hello ~a~%" message)
|
|
|
|
(force-output (usocket:socket-stream connection))))
|
|
|
|
(progn
|
|
|
|
(format t "Closing sockets~%")
|
|
|
|
(usocket:socket-close connection)
|
|
|
|
(usocket:socket-close socket)))))
|
|
|
|
|
|
|
|
(create-server 5001)
|