All of the documentation about the tables on the server assume it's behaving as a pure data storage. So no calculations, summary fields, or globals are required, except the ones mentioned already.
In other words, to create a server file, take your original solution, delete all the scripts, and layouts except one. Delete all the calculation fields, summary fields, globals etc. Turn off all the auto enters, all the validation, and the indexing. Add in just the fields mentioned in the setup.
The reason for this is to think in terms of a syncing system. When you create a record on a client, it will have a unique UUID. That record is sent to the server, and the server shouldn't change it, so it doesn't need to do an auto enter at all. If it did, the ID would be changed and then it would get sent back to the client later as a completely new record, and it would appear twice with different IDs.
The same for a modification user field. User A modified a record, and this is synced to the server and then to other devices. User B looks at the record, and it should still show that it was modified by User A. Any auto enter fields on the server would break this, and the auto enter on the Client file needs to allow for it to not change during sync.
One final situation where you might use a server side auto enter : When you're using a field with a sequential ( auto enter serial ) field. For example, an invoice that has a UUID, but also has an Invoice Number that is in sequence and the user sees. If this was an auto enter on the client device, each user would create their own sequence and you'd end up with as many invoices for each Invoice Number as you had users. Instead you use an auto enter serial on the server, and so the Invoice Number field is not assigned a value until it is synced from the client - almost like an "Approve" process that confirms the invoice. In your configuration, add the field name to the RESTfmPOSTFields option in the parameters to the RESTfmSync:Run script. The sync process will then automatically pick up the value that the server sets, and assign it to the local record when it's first synchronised.