Share

Holsham Traders Server

File Release Notes and Changelog

Release Name: 0.5.2

Notes:
This release breaks proper support for htsclient.ncurses 0.4.1.

Changes: -moved all #includes that weren't necessary in the *.h into the respective *.c this also solved some mysterious prototype errors. -improved the Makefile; -made server keep on running on errors instead of exit()ing in various places -htsserver can now behave like a real daemon: it can detach from the controlling terminal and run in the background if you use the commandline option --daemonize or set the compiletime option RUN_AS_DAEMON to 'YES' in config.h. If htsserver runs as daemon, you can also specify which device shall be used for error messages, using --stderr-device or the compiletime option DAEMON_STDERR_DEVICE in config.h. Reasonable values are /dev/console or /dev/null for example. -added function lerror() for use instead of perror(). It logs an error message in the form of '<function>: <errormessage>(<errno>)' -runtime errors that do not affect the functionality of htsserver are reported via the standard logging facility. -made chat() accept printf()-style messages -improved signal-handling; controlled shutdown on SIGTERM, SIGINT and SIGQUIT, and re-read config-file(which is not yet implemented) on SIGHUP. Moved all signal-related code to misc.[ch] -made net_buffer[] private to handle_input_from_client() -client_streams[] is history. -moved connection-related code to conn.[ch] -removed finduser_by_fd() since this info can be found in 'connection'. -changed finduser() to return a pointer to player. -added support for quoting command-arguments, i.e. arguments can now contain spaces, if the whole argument is quoted. -several changes in player-struct -everyone connected to the game is referenced through a pointer to his entry in conns[] now. -improved first_free_player_slot() -new commands: version, protocol, name, nop, logout -updated htsprotocol to 0.3.2 -documentation updates: man-page, README.programmers, PROTOCOL, FEATURES, BUGS, FAQ -introduced command handlers and corresponding handler table. -removed some compiler warnings about implicit declarations by specifying a load of __USE_* CPP defines in CFLAGS in the Makefile -removed messages.[ch] -server now denies login attempts for players who are already logged in from another connection. -added README.files which explains what files htsserver uses and what they contain -user and player are the same thing now; the username cannot be changed, because it is used to uniquely identify a user. -all networking commands are case-insensitive now -some functions are more secure now(i.e they use strncasecmp instead of strcasecmp etc.) -the list of users who are logged in(returned by 'who') is now comma-separated. this means usernames may not contain commas, but they may contain spaces. -misc. code-cleanups, fixed several typos in the documentation -many improvements of the connection-related code -added a function to broadcast a message to all clients -the bind() error message described in the FAQ will now be prevented -header dependencies in the Makefile are up-to-date again.