you could have a wide range of player and entity movement capabilities implemented in the engine, and then allow the server to set a table of properties that pick a specific combo of physics properties. Basically, you could expand the existing api (significantly). then it is server sent properties tables instead of server sent mods. All you have to do is anticipate a much wider range of player physics possibilities.
specifically for wall climbing, implement it as I assume the slippery group is implemented. if the player is agaist a node that there is some way to know is climbable, allow them to climb it following a set of server-sent parameters.
I would love to see a gravity-direction parameter, a separate player-vertical axis parameter, and various physics modifiers that allow you to separately control friction, the effect of control input, setting velocity instantaneously, etc. all that could be implemented if the usecases were pre-anticipated. a good way to anticipate is to examine several genres of 2d platformer and 3d games, and anticipate that someone will try to implement smth similar in minetest