Also who is the one running the order book? The server?
There is no "server."
All validating nodes process the order book using a deterministic algorithm. Since they all have the same ledger and set of proposed transactions, the application of outstanding orders is deterministic. All nodes come to the same conclusion regarding orders, since they began with the same state and use the same rules.
So in case node 1 gets offer 1 and then offer 2 with identical timestamps and node 2 the other way round, how is this resolved? Do they ask a third node?