I'm currently moving via the server (xajax powered), a move sends in a request, calculates if you can move, sorts out enemy battles and so on and sends it back. The problem is, this makes moving rather slow compared to a javascript solution. However, with javascript, people can basically set their own battles up, which I definitely can't have. Plus I need to update other players on the same map, so I need to send the players position in anyway.

I could just leave it of course, just slightly slow, it's not *too* bad, and there's always trains/etc to get around fast.

Why?
As a Comet alternative that works without Flash there's long polling (well, kinda like Comet, but requests are aborted and re-made after a timeout, or after information has been sent, whatever comes first).

Nothings going wrong, it's merely lagging. But moving on the client and updating the other players is also a mess, since it'll all get out of sync with the server. What I need is an always open http socket, possible (without running hacky methods like php scripts which never end...)

Are you doing gradual per pixel movement, or moving instantly between grid blocks?

I reckon some nice client side prediction would work really well, prediction does not mean people can cheat.

As for AJAX, look in to 'Comet' I think the lingo is (this is what GMail uses), it maintains a connection to the web server. This may be better for your game to increase response time (no need to setup a connection for each 'move'), but of course then you need to maintain that many concurrent requests.

Pardon my ignorance, but it's a multi-player game, right?
If it were single-player, none of the computation would be performed by the server, but rather entirely by the user downloading the program, to my understanding.

Pardon my ignorance, but it's a multi-player game, right?
If it were single-player, none of the computation would be performed by the server, but rather entirely by the user downloading the program, to my understanding.

Exactly right. Server - client programming is only required for multiplayer. It'd be stupid to use it for pure singleplayer games.