{"action":"created","issue":{"url":"https://api.github.com/repos/Cardshifter/Cardshifter/issues/381","labels_url":"https://api.github.com/repos/Cardshifter/Cardshifter/issues/381/labels{/name}","comments_url":"https://api.github.com/repos/Cardshifter/Cardshifter/issues/381/comments","events_url":"https://api.github.com/repos/Cardshifter/Cardshifter/issues/381/events","html_url":"https://github.com/Cardshifter/Cardshifter/issues/381","id":105055393,"number":381,"title":"Game content focused deployments","user":{"login":"Phrancis","id":8539648,"avatar_url":"https://avatars.githubusercontent.com/u/8539648?v=3","gravatar_id":"","url":"https://api.github.com/users/Phrancis","html_url":"https://github.com/Phrancis","followers_url":"https://api.github.com/users/Phrancis/followers","following_url":"https://api.github.com/users/Phrancis/following{/other_user}","gists_url":"https://api.github.com/users/Phrancis/gists{/gist_id}","starred_url":"https://api.github.com/users/Phrancis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Phrancis/subscriptions","organizations_url":"https://api.github.com/users/Phrancis/orgs","repos_url":"https://api.github.com/users/Phrancis/repos","events_url":"https://api.github.com/users/Phrancis/events{/privacy}","received_events_url":"https://api.github.com/users/Phrancis/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/Cardshifter/Cardshifter/labels/enhancement","name":"enhancement","color":"84b6eb"},{"url":"https://api.github.com/repos/Cardshifter/Cardshifter/labels/server","name":"server","color":"eb6420"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2015-09-05T23:16:58Z","updated_at":"2015-09-06T00:36:42Z","closed_at":null,"body":"It would be good for the future if there was a way for us to easily deploy only the content of the `extra-resources` directory to a live server (hopefully some day a `cardshifter.com:4243` server), hence allowing updates to game content without having to redeploy or even restart the server."},"comment":{"url":"https://api.github.com/repos/Cardshifter/Cardshifter/issues/comments/138014577","html_url":"https://github.com/Cardshifter/Cardshifter/issues/381#issuecomment-138014577","issue_url":"https://api.github.com/repos/Cardshifter/Cardshifter/issues/381","id":138014577,"user":{"login":"jacwah","id":3816754,"avatar_url":"https://avatars.githubusercontent.com/u/3816754?v=3","gravatar_id":"","url":"https://api.github.com/users/jacwah","html_url":"https://github.com/jacwah","followers_url":"https://api.github.com/users/jacwah/followers","following_url":"https://api.github.com/users/jacwah/following{/other_user}","gists_url":"https://api.github.com/users/jacwah/gists{/gist_id}","starred_url":"https://api.github.com/users/jacwah/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacwah/subscriptions","organizations_url":"https://api.github.com/users/jacwah/orgs","repos_url":"https://api.github.com/users/jacwah/repos","events_url":"https://api.github.com/users/jacwah/events{/privacy}","received_events_url":"https://api.github.com/users/jacwah/received_events","type":"User","site_admin":false},"created_at":"2015-09-06T00:36:42Z","updated_at":"2015-09-06T00:36:42Z","body":"Another solution would be to \"hot-swap\" servers instead of individual files. If you want to update something something on the server:\r\n\r\n1. Start a new server process (without killing the old one). Don't listen for connections yet.\r\n2. Tell the old server to stop listening for new connections, but keep it running so that running games are not interrupted.\r\n3. Tell the new server to start listening for connections.\r\n4. Notify clients in the lobby of the old server that they should reconnect or do this automagically for them.\r\n\r\nThis approach is likely easier to implement and follows the principle of immutable architecture, which might save us sweat and tears in the future. It also supplies a way to restart a server for other reasons and updating Java code without downtime."}}