about summary refs log tree commit diff homepage
path: root/server.c (follow)
Commit message (Collapse)AuthorAge
* Call msync(2) after modifying tilesJune McEnroe2021-09-27
| | | | | | | Without it, changes aren't visible to a process read(2)'ing the file until all mappings of the file are unmapped, on OpenBSD. There is apparently no guarantee that they are visible on other systems either. TIL.
* OpenBSD: pledge(2) serverJune McEnroe2021-09-26
|
* Replace kqueue with poll, remove libutil dependencyJune McEnroe2021-09-20
| | | | This makes the server much more portable.
* Factor out default pathsJune McEnroe2019-01-08
|
* Add cap_rights_limit calls to client and serverJune McEnroe2019-01-04
|
* Add teleportationJune McEnroe2019-01-04
| | | | "Spawns" in the old code.
* Fix map generation for old metadata discrepanciesJune McEnroe2019-01-04
|
* Restore old data formatJune McEnroe2019-01-04
|
* Call cap_enter in client and server v2June McEnroe2018-11-29
|
* Only use pidfile(3) on FreeBSD daemonJune McEnroe2018-10-20
|
* Add server daemonizationJune McEnroe2018-10-14
|
* Add -d and -s flags to serverJune McEnroe2018-10-12
|
* Use PascalCase for constantsJune McEnroe2018-09-30
|
* Send now in mapJune McEnroe2018-08-25
|
* Calculate min and max meta for map server-sideJune McEnroe2018-08-25
|
* Add g for flipJune McEnroe2018-08-23
|
* Replace client with rudimentary CP437 supportJune McEnroe2018-08-21
|
* Shrink the torus and rearrange struct TileJune McEnroe2018-08-21
|
* Remove spawnsJune McEnroe2018-08-21
| | | | | This reverts ce13621292bdfeafd7c6561c432a1d96deccbd3a and commits after it.
* Set client sockets SNDBUF to twice tile sizeJune McEnroe2018-07-25
| | | | | On Darwin and FreeBSD, this is already the default buffer size, but on (32-bit?) NetBSD, it's only 4K.
* Revert "Do not set non-blocking on client sockets"June McEnroe2018-07-24
| | | | | | This reverts commit f4da47cb0ee659472b563b9e6443663c62a69996. There actually are adverse effects.
* Do not set non-blocking on client socketsJune McEnroe2018-07-24
| | | | | | On NetBSD, the send buffer seems to only be 4096 bytes, so sending SERVER_TILE would get cut short. Just not setting non-blocking allows messages to properly get through and *seems* to have no adverse effect.
* Use EV_SETJune McEnroe2018-07-24
| | | | | NetBSD kevent.udata is uintptr_t rather than void * and the macro does the cast.
* Add ARRAY_LEN macroJune McEnroe2018-07-19
|
* Add server map generationJune McEnroe2018-07-17
|
* Tabify sourceJune McEnroe2018-07-17
| | | | And other style changes.
* Use anonymous unionJune McEnroe2018-04-09
|
* Miscellaneous code cleanupJune McEnroe2018-03-05
|
* Pass message structs by valueJune McEnroe2018-03-05
|
* Clean up spawn constantsJune McEnroe2018-03-05
|
* Rename Tile timestamps {create,modify,access}TimeJune McEnroe2018-03-05
|
* Remove leading blank linesJune McEnroe2017-09-27
|
* Assert client coords are valid after movementJune McEnroe2017-09-03
|
* Relicense AGPLJune McEnroe2017-09-03
| | | | | | | I know it's already published under a permissive license in what is probably its final form, but I want to license it AGPL anyway on principle following some conversations I had about open source, corporations and copyleft.
* Remove clientRemove call from clientCastJune McEnroe2017-09-01
| | | | | | | If an error occurs on a client socket during a broadcast, that client will show up in the kqueue loop with EV_EOF and get removed that way. Tested by sending SIGKILL to a client and watching its cursor disappear.
* Add four additional spawnsJune McEnroe2017-08-29
|
* Add respawningJune McEnroe2017-08-28
|
* Use MakefileJune McEnroe2017-08-26
|
* Add license to C filesJune McEnroe2017-08-24
| | | | I feel like doing this now.
* Clean up unnecessary kevent initializersJune McEnroe2017-08-13
|
* Remove MADV_NOSYNCJune McEnroe2017-08-08
| | | | | I don't think this has any benefit. It just takes longer to stop the server because it flushes all the pages then.
* Completely retry if a send fails during a broadcastJune McEnroe2017-08-08
| | | | | | | | This fixes a bug where the saved next client to iterate through would also get removed. This can result in messages being sent multiple times to a client, but that will have no negative effect.
* Reverse order of main loopJune McEnroe2017-08-08
|
* Turn off SIGPIPE at the socket levelJune McEnroe2017-08-08
| | | | | I imagine it's better to not generate SIGPIPE at all rather than generate and ignore.
* Split tile access and modifyJune McEnroe2017-08-02
|
* Madvise RANDOM and NOSYNCJune McEnroe2017-08-01
|
* Fix removing clients from clientCastJune McEnroe2017-07-31
|
* Don't dump tiles in coreJune McEnroe2017-07-31
|
* Use designated initializers for messagesJune McEnroe2017-07-31
| | | | I did not realize this syntax was so powerful.
* Show other clients' cursorsJune McEnroe2017-07-31
| | | | Also unfuck removing on send failure.