{"id":19463809,"url":"https://github.com/kasworld/goonlinescaffolding","last_synced_at":"2025-04-25T08:32:37.694Z","repository":{"id":146942179,"uuid":"262940287","full_name":"kasworld/goonlinescaffolding","owner":"kasworld","description":"golang online chat and game service scaffolding","archived":false,"fork":false,"pushed_at":"2021-02-06T06:44:24.000Z","size":7428,"stargazers_count":5,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-03T19:38:47.230Z","etag":null,"topics":["golang","service-frameworks","webassembly-client","websocket-server"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kasworld.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-05-11T04:42:34.000Z","updated_at":"2021-02-06T06:44:27.000Z","dependencies_parsed_at":null,"dependency_job_id":"7a1e3618-dff5-40d2-b23c-61b0dc2e8a9d","html_url":"https://github.com/kasworld/goonlinescaffolding","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kasworld%2Fgoonlinescaffolding","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kasworld%2Fgoonlinescaffolding/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kasworld%2Fgoonlinescaffolding/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kasworld%2Fgoonlinescaffolding/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kasworld","download_url":"https://codeload.github.com/kasworld/goonlinescaffolding/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250782306,"owners_count":21486433,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["golang","service-frameworks","webassembly-client","websocket-server"],"created_at":"2024-11-10T18:12:19.828Z","updated_at":"2025-04-25T08:32:37.331Z","avatar_url":"https://github.com/kasworld.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# golang websocket-server and webassembly-client  service-framework\n\ngo 언어로 만든 websocket-server, webassembly-client 를 지원하는 서비스 프레임워크 입니다. \n\ngoguelike, gowasm2dgame, gowasm3dgame, gofieldwar(비공개) 등을 만들며 사용한 코드들의 \n공통 부분들을 모아서 다른 프로젝트에도 사용하기 편하게 정리한 것입니다. \n\n기본 코드는 stage 기반의 채팅기능만이 존재하며 각 프로젝트의 필요에 따라 확장해 쓰시면 됩니다. \n\nhtml5 canvas 를 사용한 2D game 예제를 보려면 https://github.com/kasworld/gowasm2dgame\n\nwebgl 을 사용한 3D game 예제를 보려면 https://github.com/kasworld/gowasm3dgame\n\n좀 복잡한 게임(수만 라인 규모) 예제를 보려면 https://github.com/kasworld/goguelike\n\n를 참고하시면 됩니다. \n\n\n# 사전 준비 사항 ( goguelike 의 INSTALL.md 참고)\n\n준비물 : linux(debian,ubuntu,mint) , chrome web brower , golang \n\ngoimports : 소스 코드 정리, import 해결\n\n    go get golang.org/x/tools/cmd/goimports\n\n버전 string 생성시 사용 : windows, linux 간에 같은 string생성\n\n    go get github.com/kasworld/makesha256sum\n\n프로토콜 생성기 : https://github.com/kasworld/genprotocol\n\n    go get github.com/kasworld/genprotocol\n\nEnum 생성기 : https://github.com/kasworld/genenum\n\n    go get github.com/kasworld/genenum\n\nLog 패키지 및 커스텀 로그레벨 로거 생성기 : https://github.com/kasworld/log\n\n    go get github.com/kasworld/log\n    install.sh 실행해서 genlog 생성 \n\n# 컴파일, 실행 \n\n코드 생성 및 빌드 \n\n    ./build.sh \n\n서버 및 클라이언트 실행 \n\n    cd rundriver \n     ./genwasmclient.sh\u0026\u0026 go run server.go\n\n    화면에 나오는 링크를 브라우저에서 실행\n    open admin web\n    http://localhost:24201/\n    open client web\n    http://localhost:24101/\n    \n\n# windows 에서 작동시키려면?\n\nsignalhandlewin을 사용하는 rundriver/serverwin.go 를 사용하시면 됩니다. \n\n\n# packet marshaler(serializer)\n\n기본적으로 gob 를 사용하게 되어 있습니다. (gos_gob 패키지)\n\njson을 사용하고 싶으면 gos_json 을 사용하도록 수정하고 \n\nmsgp(MessagePack) 를 사용하고 싶으면 gos_msgp를 사용하도록 수정하면 됩니다. \n\n그외 다른 marshaler를 사용하려면 위 세개의 패키지를 참고해서 marshal 패키지를 만드시면 되겠습니다. \n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkasworld%2Fgoonlinescaffolding","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkasworld%2Fgoonlinescaffolding","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkasworld%2Fgoonlinescaffolding/lists"}