aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Fix the same username being able to have multiple sessionsHEADmainHimbeer8 days1-19/+24
| | | | | | | | | Previously, a client failing this check would be disconnected, incorrectly resulting in the username being removed from the playerlist and enabling another client to log in. The only limit to this was the number of internal servers accessible to the account. This commit fixes the bypass by preventing the username from being removed from the list in error cases.
* Enforce no-singleplayer and user limit before adding client to player listHimbeer8 days1-23/+23
|
* Fix name not being displayed in "invalid player name" log messagesHimbeer8 days1-3/+3
|
* Fix sendPings goroutine not being started for ClientConns (#160)Himbeer2025-03-282-3/+3
| | | | This fixes a potential issue caused by the previous commit.
* Fix proxy-to-server channel 0 breaking when client is idle (#160)Himbeer2025-03-282-3/+3
| | | | | | This commit upgrades mt to fix an issue where certain events such as chat messages fail to be processed by upstream servers after the client has been idle for a few minutes.
* Update to Luanti 5.11Himbeer2025-03-263-4/+5
| | | | Closes #161.
* Fix HUD fields not being treated as textures when prependingHimbeer2025-03-261-4/+4
|
* Make textureName regexp match meshes (#158)Himbeer2025-03-261-1/+1
| | | | | | Since this regexp is used with formspecs, meshes need media pool prepending too. This commit fixes issues with meshes in formspecs not being displayed.
* Update check for development build to new Go pseudo-version formatHimbeer2025-02-261-1/+2
|
* Fix panic due to ServerConn.dynMedia not being initializedHimbeer2025-01-241-6/+10
|
* Update to fixed mt.ToCltMediaPushHimbeer2025-01-244-10/+10
| | | | | This commit fixes #159 by updating mt and inverting the ShouldCache / Ephemeral field.
* Make formspec textureName regexp more restrictiveHimbeer2025-01-201-1/+1
| | | | | | | | The new regexp only matches the .png, .jpg, .bmp and .tga file extensions (case-insensitive). This prevents a few false replacements, though the ultimate fix should be a proper formspec parser. This commit is a temporary solution to #158.
* Update to Luanti 5.10Himbeer2024-12-075-8/+23
| | | | Closes #153.
* Allow plugins to determine whether a player is newHimbeer2024-12-072-0/+5
|
* Allow plugins to intercept client-to-server chat messagesHimbeer2024-12-073-4/+33
|
* Implement inventory plugin APIHimbeer2024-12-072-0/+56
| | | | | | | This change adds an API to retrieve a read-only copy of the current inventory and listen for and modify inventory actions. Closes #90.
* Implement modchannel plugin API between proxy and servers (per-client)Himbeer2024-12-074-0/+159
|
* Implement modchannel plugin API between clients and proxyHimbeer2024-12-072-0/+112
|
* Implement (inventory) formspec plugin APIHimbeer2024-12-053-0/+88
| | | | | | | | | | Node-based formspecs are not supported because there is no node API yet. Proxy-level formspec functionality is invisible to upstream servers. The API can be used to display a formspec that is submitted to the upstream server. It is also able to intercept the submission of formspecs displayed by the upstream server. Closes #131.
* Allow plugins to override server selection when a client joinsHimbeer2024-11-175-13/+104
| | | | Closes #129.
* Allow plugins to handle player join and leave eventsHimbeer2024-11-173-0/+87
| | | | | | | This includes the ability to kick a client on join for reasons other than banning. Closes #156.
* Notify authentication backends of failed login attemptsHimbeer2024-11-175-14/+37
| | | | Closes #157.
* Allow plugins to implement authentication backendsHimbeer2024-11-1711-32/+179
| | | | | | | | | | | | | | | | | | Design decisions: * Config option specifies which of the registered backends is used * Name conflicts (including with builtins) make the backend registration fail * Builtin backends are not moved to plugins to avoid breaking existing setups confusion in general * Builtin backends are exposed to plugins (and have been for some time); Important information and internal methods are hidden to prevent interference from malicious plugins See doc/auth_backends.md and the related interface and function documentation for details. Closes #127.
* Log loaded plugins individuallyHimbeer2024-11-161-2/+4
| | | | | | | | | | The log messages say whether each successfully loaded plugin is pre-built or automatically built by the proxy. In the former case the file name is printed, in the latter case the directory name is printed (not the path to the .so file contained within which is what is actually loaded). Closes #154.
* Fix Server.Fallback config option documentationHimbeer2024-10-131-2/+1
| | | | | This commit removes a remnant sentence from the previous logic and adds network errors to the list of triggers.
* Overhaul fallback logicHimbeer2024-10-1310-109/+116
| | | | | | | | | | | | | | | Fallback is now set up by configuring individual servers to build up a fallback chain. Each server now only accepts a single fallback server name and global fallback server definitions have been removed entirely. Fallback is attempted if there is a kick or if the RUDP connection is lost. If following the fallback chain is unsuccessful for any reason, the client is disconnected with the original kick sent by the original server or an error message about the loss of connection. If fallback cannot be initiated at any part of the chain (e.g. due to the client not being connected to a server in the first place) the client is disconnected with an error message. This commit fixes #150.
* Expose CltInfo to pluginsHimbeer2024-10-131-0/+3
| | | | | This change allows plugins to query information about clients such as the version string or the formspec version.
* Accept any parameter type to ClientConn.SendChatMsgHimbeer2024-10-131-2/+2
| | | | | | | Previously, only strings were accepted. Using fmt.Sprintln internally and trimming the newline is more idiomatic because it allows easy pretty-printing of types with string overrides as well as errors. Call sites are going to be updated over time alongside other modifications.
* Fix fog on server hop to subgame with default skyHimbeer2024-10-111-9/+15
| | | | | | | | The default sky had some default values set incorrectly, including FogDistance and BodyOrbitTilt. These values were set to zero instead of the correct values -1 and -1024, respectively. This was overlooked because Minetest sets those values directly in the type declaration and not in the associated default initialization method.
* Update mtHimbeer2024-10-112-3/+3
| | | | | This commit updates to a version of the mt module that fixes critical issues with the Minetest 5.9.0 update.
* Merge pull request #152 from TheodorSmall/docker-compose-indentationHimbeer2024-10-101-6/+6
|\ | | | | Fix indentation of the docker-compose file in doc/docker.md
| * Fix indentation of the docker-compose file in doc/docker.mdTheodorSmall2024-10-101-6/+6
|/ | | | Closes #151.
* Update to Minetest 5.9Himbeer2024-08-238-56/+81
| | | | Closes #148.
* Upgrade dependencies: Peer ID randomizationHimbeer2024-06-052-9/+9
| | | | Closes #147.
* document permission system in more detailHimbeerserverDE2024-02-112-0/+36
|
* document server groupsHimbeerserverDE2024-02-112-0/+23
|
* document why chat command plugin hashes can still be useful with automatic ↵HimbeerserverDE2024-02-111-4/+8
| | | | plugin builds
* update mt: fix ToCltEyeOffset and ToCltSkyParams 5.8 incompatibilityHimbeerserverDE2024-02-032-3/+3
|
* Merge pull request #145 from HimbeerserverDE/mt5_8Himbeer2024-01-285-7/+8
|\ | | | | Update to Minetest 5.8.x
| * document latest 5.7 commits and 5.8 supportHimbeerserverDE2024-01-281-1/+2
| |
| * update build env to go 1.21.6HimbeerserverDE2024-01-281-1/+1
| |
| * update to minetest 5.8.xHimbeerserverDE2024-01-173-5/+5
| |
* | mention docker in main READMEHimbeerserverDE2024-01-241-0/+5
| |
* | document github packages docker imageHimbeerserverDE2024-01-241-1/+22
| |
* | use docker/setup-buildx action to create a builder capable of producing ↵HimbeerserverDE2024-01-241-0/+3
| | | | | | | | multi-platform images
* | Revert "run separate builds for amd64 and arm64"HimbeerserverDE2024-01-241-11/+2
| | | | | | | | This reverts commit fc55df9297f30f5e98d650c75cdd04eb1d0e0636.
* | Merge pull request #144 from HimbeerserverDE/dockerHimbeer2024-01-245-0/+232
|\ \ | |/ |/| Docker support
| * run separate builds for amd64 and arm64HimbeerserverDE2024-01-241-2/+11
| | | | | | | | The docker driver doesn't support multi-platform builds. This is a workaround.
| * ensure CI builds the latest commitHimbeerserverDE2024-01-202-7/+9
| | | | | | | | The Go proxy is highly unlikely to be up to date already when a commit is pushed.
| * buildx and cross-compilation supportHimbeerserverDE2024-01-204-7/+29
| |